首頁 >後端開發 >php教程 >php中array_merge與array+array的差別

php中array_merge與array+array的差別

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

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

来看下面的例子:

<?php
/**
* array_merge、array+array的区别
* edit bbs.it-home.org
*/
$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);
?>

输出结果:

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)


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn