合併方法:1、使用「陣列1 陣列2」語句;2、使用「array_merge(陣列1,陣列2)」語句;3、使用「array_merge_recursive(陣列1,陣列2)」語句; 4.使用「array_combine(數組1,數組2)」語句。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
直接將兩個陣列的值合併成為一個陣列;
<?php $a = [1,2,3,'a'=>'a']; $b = ['a'=>'b',4,5,'b'=>'c',6,7,'a']; $c = $a + $b; var_dump($a); var_dump($b); var_dump($c); ?>
輸出結果:
採用" "合併數組,如果鍵相同的情況下,前面的陣列值會覆寫後面的陣列值。
直接將兩個陣列進行合併,兩個陣列鍵相同的情況,後面陣列的值會覆寫前面陣列的值
<?php $a = [1,'2'=>2,'a'=>'a','b'=>'b']; $b = [1,'2'=>3,'a'=>'c','b'=>'d','c'=>'e']; $c = array_merge($a,$b); var_dump($a); var_dump($b); var_dump($c); ?>
輸出結果:
可以看出,兩個陣列鍵相同的情況,後面陣列的值會覆寫前面陣列的值。但對於數字索引或數字字串索引,會依照順序進行重置(第一個陣列的第一個數字索引元素從0開始依序填入)
合併數組,遇到相同的鍵將該鍵中值合併為一個子數組
<?php $a = [1,'2'=>2,'a'=>'a','b'=>'b']; $b = [1,'2'=>3,'a'=>'a','b'=>'d','c'=>'e']; $c = array_merge_recursive($a,$b); var_dump($a); var_dump($b); var_dump($c); ?>
#輸出結果:
採用"array_merge_recursive"方法時,會將相同鍵的元素,整合成一個新的數組,並保持鍵名不變,作為合併數組($a與$b組合後的數組)的一個子元素。但是對於數字索引或數字字串索引,會依照順序進行重置(第一個陣列的第一個數字索引元素從0開始依序填入)。即使對應的數字索引相同,也不會將相同索引的元素整合成功一個子陣列。
array_combine() 函數透過合併兩個陣列來建立一個新數組,其中的一個數組元素為鍵名,另一個數組的元素為鍵值。
註解:鍵名數組和鍵值數組的元素個數必須相同!
<?php $a=array("a","b","c","d"); $b=array("red","green","blue","yellow"); $c = array_combine($a,$b); var_dump($a); var_dump($b); var_dump($c); ?>
輸出結果:
推薦學習:《PHP影片教學》
以上是php合併陣列的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!