说明:
在php中,array_merge丢弃原来的数字的key,而保留字符串形式的key,然后组成一个新的数组,不管键名是否一样,都不合并,除非键名和value同时一样,且是字符串形式的key才合并。
但array+array就不同了,它只会先把前面的数组的数据先放到新生成的数组中,之后再看第二个array是否比第一个数组个数多,多的就添加进来,它只数个数,但是这种情况它会添加进来。
这就是二者的区别。
来看下面的例子:
<?php /** * array_merge、array+array的区别 * edit www.jb200.com */ $a = array('d'=>'aass','e'=>'adsdfd','asd'=>'asdsdd','ddfg'=>'dssdf'); $b = array('d'=>'adddd','adsdfd','asdfsddddd','d'=>'aass'); $d = $a + $b; $e = array_merge($a,$b); var_dump($d); var_dump($e); ?>
输出结果: