php陣列合併 array merge與 「 」

2022-08-11 06:54:14 字數 1239 閱讀 6747

php中陣列合併有兩種方式:array_merge 與 「+」,使用方式如下:

$arr =array_merge($arr1 ,$arr2);

$arr =$arr1 + $arr2 ;

兩種方式看似相同,但使用中 坑 還是不少的。

看下面的例子:

<?php 

$arr1=array(3,3476,123,45,45,'a'=>79);

$arr2=array(40,74,435,86,34,3432,'a'=>88);

print_r($arr1+$arr2);

結果如下

結論:

使用「+」用於陣列合併時,不論是數字索引還是關聯索引:

不同的鍵值元素被合併進乙個陣列,

相同的鍵值元素以前者為準,即不會被後者同鍵的值覆蓋

使用場景:兩個擁有不同鍵值的陣列,希望原有鍵值被保留

再來看 array_merge();

<?php 

$arr1=array(3,3476,123,45,45,'a'=>79);

$arr2=array(40,74,435,86,34,3432,'a'=>88);

print_r(array_merge($arr1,$arr2));

結果如下:

結論:

使用「array_merge」用於陣列合併時:

原有的數字索引全部會被拋棄 (不論是要合併的第乙個陣列還是第二個),其對應的所有值會放入乙個新陣列,重新索引。

相同的關聯鍵值元素會被後者同鍵的值覆蓋,關聯索引會被保留

使用場景:不需要鍵值進行關聯,只需要陣列中的值

要合併的陣列的鍵全部是字串,而且字串鍵都不重複。

在php手冊中看到乙個好玩的地方,給大家看看

例子很明顯,當數字鍵值超出 php_int_max ,php 已經不認為這是數字索引了,而是字串了。

手冊:

php陣列合併

php的陣列在這門語言裡使用得非常多。陣列的一些常見操作像split explode,join implode,排序 sort,asort,ksort,arsort 兩陣列合併 array combine 鍵值翻轉 array flip 當然還有比較複雜的陣列合併。陣列合併至少有4種形式。1.第一種...

PHP陣列 陣列合併

陣列合併函式 array merge或者 array merge 將乙個或多個陣列的單元合併起來,乙個陣列中的值附加在前乙個陣列的後面。返回作為結果的陣列。如果輸入的陣列中有相同的字串鍵名,則該鍵名後面的值將覆蓋前乙個值。然而,如果陣列包含數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。如果只...

關於陣列合併,php

array merge 合併兩個陣列,如果陣列的鍵名是字元,而且兩個陣列的鍵名是相同的字元,如 array3 array 性別 男 姓名 不是女人 array4 array 性別 不知道 長相 很帥 哪麼,合併之後,後者將會覆蓋前者,這樣合併之後就變成了 array 性別 不知道 姓名 不是女人 長...