PHP函式之array_merge()和array()+array()區別。
在PHP中可以使用array_merge函式和兩個陣列相加array+array的方式進行數組合並,但兩者效果並不相同,下面為大家介紹兩者具體的使用區別.
區別如下:
當下標為數值時,array_merge()不會覆蓋掉原來的值,但array+array合併陣列則會把最先出現的值作為最終結果返回,而把後面的陣列擁有相同鍵名的那些值“拋棄”掉(不是覆蓋).
當下標為字元時,array+array仍然把最先出現的值作為最終結果返回,而把後面的陣列擁有相同鍵名的那些值“拋棄”掉,但array_merge()此時會覆蓋掉前面相同鍵名的值.
健 為數字例子。
<?php
$arr1=array(); $arr1[1]='tom'; $arr1[2]='jick'; $arr1[3]='bobby';
$arr2= array(); $arr2[1]='tom2'; $arr2[2]='jick2'; $arr2[3]='bobby2';
$arra3=array_merge($arr1,$arr2); var_dump($arra3);
結果 ;
array(6) { [0]=> string(3) "tom" [1]=> string(4) "jick" [2]=> string(5) "bobby" [3]=> string(4) "tom2" [4]=> string(5) "jick2" [5]=> string(6) "bobby2" }
$array4=$arr1+$arr2; var_dump($array4);
結果:
array(3) { [1]=> string(3) "tom" [2]=> string(4) "jick" [3]=> string(5) "bobby" } ?>
鍵-為字串
<?php
$arr1=array(); $arr1['a']='tom'; $arr1['b']='jick'; $arr1['c']='bobby';
$arr2= array(); $arr2['a']='tom2'; $arr2['b']='jick2'; $arr2['c']='bobby2';
$arra3=array_merge($arr1,$arr2); var_dump($arra3);
結果:
array(3) { ["a"]=> string(4) "tom2" ["b"]=> string(5) "jick2" ["c"]=> string(6) "bobby2" }
$array4=$arr1+$arr2; var_dump($array4);
結果
array(3) { ["a"]=> string(3) "tom" ["b"]=> string(4) "jick" ["c"]=> string(5) "bobby" }
?>