摘要:在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别...
例1:
$array1 = array('a'=>'PHP','b'=>'MYSQL','c'=>'Linux',0=>'Apache'); $array2 = array('a'=>'HTML','c'=>'Windows',0=>'Nginx',1=>'YzmCMS'); $a = $array1+$array2; $b = array_merge($array1, $array2); var_dump($a); var_dump($b);
运行结果:
array(5) { ["a"]=> string(3) "PHP" ["b"]=> string(5) "MYSQL" ["c"]=> string(5) "Linux" [0]=> string(6) "Apache" [1]=> string(6) "YzmCMS" } array(6) { ["a"]=> string(4) "HTML" ["b"]=> string(5) "MYSQL" ["c"]=> string(7) "Windows" [0]=> string(6) "Apache" [1]=> string(5) "Nginx" [2]=> string(6) "YzmCMS" }
例2:
$array1 = array(); $array2 = array(1=>'Nginx',3=>'YzmCMS'); $a = $array1+$array2; $b = array_merge($array1, $array2); var_dump($a); var_dump($b);
运行结果:
array(2) { [1]=> string(5) "Nginx" [3]=> string(6) "YzmCMS" } array(2) { [0]=> string(5) "Nginx" [1]=> string(6) "YzmCMS" }
总结:
array_merge()函数用于将一个或者多个数组的单元合并起来,返回结果为数组。
①如果合并的数组中有相同的字符串键名,则后面的值覆盖前面的值,键名不变
②如果合并的数组中有相同的数字键名,则后面的值不覆盖前面的值,而是依次附加到后面
③如果只有一个数组,并且该数组是数字索引的,则键名会以连续方式重新索引。
array+array是数组的联合运算。
①如果合并的数组中有相同的字符串键名,则取最先出现的值而把后面拥有相同键名的那些值“抛弃”
②如果合并的数组中有相同的数字键名,则取最先出现的值而把后面拥有相同键名的那些值“抛弃”
③如果只有一个数组,并且该数组是数字索引的,则键名不会重新索引,而是保持原来的索引顺序。
网友评论:
大沙发斯蒂芬大师傅
2018-05-04 10:16:37 回复