1. 程式人生 > >PHP函式之array_merge()和array()+array()區別。

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" }  

?>