php陣列合併

2021-05-26 06:18:33 字數 1773 閱讀 3568

php的陣列在這門語言裡使用得非常多。陣列的一些常見操作像split/explode,join/implode,排序(sort,asort,ksort,arsort),兩陣列合併(array_combine),鍵值翻轉(array_flip),當然還有比較複雜的陣列合併。

陣列合併至少有4種形式。

1.第一種php陣列合併方式(使用合併)

$a = array(1=>'a',2=>'b',3=>'c');

$b = array(1=>'d',2=>'e',3=>'f');

foreach($b as $v)

var_export($a);

得到array (

1 => 'a',

2 => 'b',

3 => 'c',

4 => 'd',

5 => 'e',

6 => 'f',

)這種方式的陣列合併,新增元素的鍵值是在原來數字鍵值之上增加。

如果原來的鍵值不是數字的,那麼新增元素的鍵值將從0開始。

2.第二種陣列合併方式(使用array_unshift合併)

$a = array(1=>'a',2=>'b',3=>'c');

$b = array(1=>'d',2=>'e',3=>'f');

foreach($b as $v)

var_export($a);

得到array (

0 => 'f',

1 => 'e',

2 => 'd',

3 => 'a',

4 => 'b',

5 => 'c',

)可以看到,使用array_unshift方式新增元素,每次都會在陣列頭部新增元素,並且這些元素的鍵值總是從0開始,整個陣列的鍵將重新從0開始計算。

3.使用array_merge合併php陣列

$a = array(1=>'a',2=>'b',3=>'c');

$b = array(1=>'d',2=>'e',3=>'f');

$a = array_merge($a,$b);

var_export($a);

運算結果是

array (

0 => 'a',

1 => 'b',

2 => 'c',

3 => 'd',

4 => 'e',

5 => 'f',

)可以看到陣列的鍵也被從0開始重新計算了。

4.使用+合併php陣列

$a = array(1=>'a',2=>'b',3=>'c');

$b = array(1=>'d',2=>'e',3=>'f');

$a = $a+$b; // $a += $b;

var_export($a);

我們得到了令人驚訝的結果

array (

1 => 'a',

2 => 'b',

3 => 'c',

)陣列$b被忽略了。我們可以看到,如果陣列$b中有和$a重複鍵值的元素,那麼這些元素將被忽略。換言之:保留鍵值,如果有重複,以第乙個陣列中的鍵為準。

5.php陣列合併兩個陣列(乙個陣列做鍵名,另乙個做值)

有兩個陣列: $arry_a,$arry_b

合併為乙個新陣列:$arry_ab,要求$arry_a中的值為新陣列的鍵名,$arry_b中的值為新陣列相對應的值.

$array_ab=array_combine($arry_a,$array_b);

這是陣列的php內建函式 ,函式括號中的前乙個陣列的值為新陣列的索引,後乙個引數的值為新陣列的值

PHP陣列 陣列合併

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

關於陣列合併,php

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

論php陣列合併

注 盡量不要在迴圈中運算元據庫。array merge 乙個神奇的方法 1.兩個一維陣列合併成乙個一維陣列 a array morning afternoon night b array breakfast lunch dinner 1 以 a中的陣列元素為鍵名,以 b中的陣列元素為鍵值而形成的乙個...