摘要:在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 回复