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中的陣列元素為鍵值而形成的乙個...