Home  >  Article  >  Backend Development  >  php中array_merge与array+array的区别

php中array_merge与array+array的区别

WBOY
WBOYOriginal
2016-07-25 08:58:241000browse
本文介绍下,array_merge进行数组合并,以及array+array进行合并的区别。有需要的朋友,参考下吧。

说明: 在php中,array_merge丢弃原来的数字的key,而保留字符串形式的key,然后组成一个新的数组,不管键名是否一样,都不合并,除非键名和value同时一样,且是字符串形式的key才合并。 但array+array就不同了,它只会先把前面的数组的数据先放到新生成的数组中,之后再看第二个array是否比第一个数组个数多,多的就添加进来,它只数个数,但是这种情况它会添加进来。 这就是二者的区别。

来看下面的例子:

'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);
?>

输出结果:

array 'd' => string 'aass' (length=4) 'e' => string 'adsdfd' (length=6) 'asd' => string 'asdsdd' (length=6) 'ddfg' => string 'dssdf' (length=5) 0 => string 'adsdfd' (length=6) 1 => string 'asdfsddddd' (length=10) array 'd' => string 'aass' (length=4) 'e' => string 'adsdfd' (length=6) 'asd' => string 'asdsdd' (length=6) 'ddfg' => string 'dssdf' (length=5) 0 => string 'adsdfd' (length=6) 1 => string 'asdfsddddd' (length=10)


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn