php中array_merge合并數組詳解
來源:程序員人生 發布時間:2013-12-16 14:59:51 閱讀次數:2433次
array_merge() 函數把兩個或多個數組合并為一個數組.
如果鍵名有重復,該鍵的鍵值為最后一個鍵名對應的值(后面的覆蓋前面的).如果數組是數字索引的,則鍵名會以連續方式重新索引.
注釋:如果僅僅向 array_merge() 函數輸入了一個數組,且鍵名是整數,則該函數將返回帶有整數鍵名的新數組,其鍵名以 0 開始進行重新索引.
實例代碼如下:
- <?php
- $a=array(3=>"Horse",4=>"Dog");
- print_r(array_merge($a));
- ?>
將一個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的后面.返回作為結果的數組.
如果輸入的數組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值.然而,如果數組包含數字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面.
如果只給了一個數組并且該數組是數字索引的,則鍵名會以連續方式重新索引.
實例代碼如下:
- $face = array("J","Q","K","A");
- $numbered = array("2","3","4","5","6","7","8","9");
- $cards = array_merge($face, $numbered);
- shuffle($cards);
- print_r($cards);
這將返回如下所示的結果,
實例代碼如下:
- Array ( [0] => A [1] => 4 [2] => 9 [3] => 3 [4] => K [5] => 7 [6] => 5 [7] => Q [8] => 6 [9] => 8 [10] => 2 [11] => J )
遞歸追加數組
array_merge_recursive()函數與array_merge()相同,可以將兩個或多個數組合并在一起,形成一個聯合的數組.兩者之間 的區別在于,當某個輸入數組中的某個鍵己經存在于結果數組中時該函數會采取不同的處理方式.array_merge()會覆蓋前面存在的鍵/值對,替換為 當前輸入數組中的鍵/值對,而array_merge_recursive()將把兩個值合并在一起,形成一個新的數組,并以原有的鍵作為數組名.還有一 個數組合并的形式,就是遞歸追加數組.其形式為:
array array_merge_recursive( array key,array values )
實例代碼如下:
- <?php
- $array1 = array("AA"=>"A","BB"=>"B","CC"=>"C","DD"=>"D");
- $array2 = array("AA"=>"1","BB"=>"2","CC"=>"3","DD"=>"4");
- $array3 = array("AA"=>"!","BB"=>"@","CC"=>"#","DD"=>"$");
- $arrayX = array_merge($array1, $array2, $array3);
- print_r($arrayX);
- ?>
連接兩個數組
array_combine()函數會得到一個新數組,它由一組提交的鍵和對應的值組成.其形式為:
array array_merge(array array1,array array2[…,array arrayN])
注意,兩個輸入數組必須大小相同,不能為空.示例如下:
實例代碼如下:
- <?php
- $array1 = array("AA"=>"A","BB"=>"B","CC"=>"C","DD"=>"D");
- $array2 = array("AA"=>"1","BB"=>"2","CC"=>"3","DD"=>"4");
- $array3 = array("AA"=>"!","BB"=>"@","CC"=>"#","DD"=>"$");
- $arrayX = array_merge($array1, $array2, $array3);
- print_r($arrayX);
- ?>
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈