注:盡量不要在迴圈中運算元據庫。
array_merge():乙個神奇的方法
1.兩個一維陣列合併成乙個一維陣列
$a = array('morning','afternoon','night');
$b = array('breakfast','lunch','dinner');
(1)以$a中的陣列元素為鍵名,以$b中的陣列元素為鍵值而形成的乙個新陣列。
(2)將$a中與$b中鍵值相同的陣列元素剔除,僅保留$a中不同的陣列元素。也就是說返回差集。
$c=array_diff($a,$b);
(3)將$a中與$b中鍵名和鍵值同時相同的陣列元素剔除,僅保留$a中不同的陣列元素,也就是說返回差集陣列。
$a = array('morning','afternoon','night');
$b = array('breakfast','lunch','night');
$c=array_diff_assoc($a,$b);
print_r($c);
輸出結果為:
(4)將$a中與$b中鍵名相同的陣列元素剔除,僅保留$a中不同的陣列元素,也就是說返回差集陣列。
$c=array_diff_key($a,$b);
空陣列。
(5)將$a中與$b中鍵名和鍵值同時相同的陣列元素剔除,僅保留$a中不同的陣列元素,也就是說返回差集陣列,然後使用使用者自定義函式比較此差集陣列中的鍵名,對陣列重新排序。
(6)將$a中與$b中鍵名相同的陣列元素剔除,僅保留$a中不同的陣列元素,也就是說返回差集陣列,然後使用使用者自定義函式比較此差集陣列中的鍵名,對陣列重新排序。
$a = array('morning','afternoon','night','today','yesterday','tomorrow');
$b = array('breakfast','lunch','night');
$c=array_diff_ukey($a,$b,function($a,$b));
print_r($c);
(7)將$a中與$b中鍵值相同的陣列元素返回,鍵名為$a中對應的陣列鍵名。(或者是更多陣列,返回的是共有的交集)
$a = array('morning','afternoon','today','night','yesterday','tomorrow');
$b = array('breakfast','lunch','night');
$c = array_intersect($a,$b);
print_r($c);
(8)將乙個或多個陣列合併為乙個陣列。
1.如果兩個或多個陣列元素有相同的鍵名,則最後的元素會覆蓋其他元素。如果輸入的陣列鍵名是整數,則該函式將返回帶有整數鍵名的新陣列,其鍵名以0開始進行重新索引。
$a = array('sun'=>'陽光','moon'=>'月光');
$b = array('dog'=>'狗狗','cat'=>'小貓');
$c = array_merge($a,$b);
print_r($c);
$a = array('sun'=>'陽光','moon'=>'月光','守望'=>'麥田');
$b = array('dog'=>'狗狗','cat'=>'小貓','守望'=>'先鋒');
$c = array_merge($a,$b);
print_r($c);
2.array_merge_recursive() 不會進行鍵名覆蓋,而是將多個相同鍵名的值遞迴組成乙個陣列。
$a = array('sun'=>'陽光','moon'=>'月光','守望'=>'麥田');
$b = array('dog'=>'狗狗','cat'=>'小貓','守望'=>'先鋒');
$c = array_merge_recursive($a,$b);
print_r($c);
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 性別 不知道 姓名 不是女人 長...