合併數組的幾種方式

一、 +

     規則:當兩個數組的鍵名是數字鍵名或者字符串鍵名可以直接 +,$c = $a + $b,在$a後追加($b在$a中不存在的鍵名)鍵名和值。

  • 不覆蓋,只是追加不存在的鍵名和對應的值。
  • 鍵名不重新索引。
  • 無論是全部數字鍵名還是混合,都只是追加鍵名和值,如果鍵名相同則不進行追加,即把最先出現的值作爲最終結果返回。

二、array_merge()

  將一個或多個數組的單元合併起來,一個數組中的值附加在前一個數組的後面。返回作爲結果的數組。 如果輸入的數組中有相同的字符串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。 如果只給了一個數組並且該數組是數字索引的,則鍵名會以連續方式重新索引。 

三、array_merge_recursive()

 將一個或多個數組的單元合併起來,一個數組中的值附加在前一個數組的後面。返回作爲結果的數組。 

如果輸入的數組中有相同的字符串鍵名,則這些值會被合併到一個數組中去,這將遞歸下去,因此如果一個值本身是一個數組,本函數將按照相應的條目把它合併爲另一個數組。

然而,如果數組具有相同的數組鍵名,後一個值將不會覆蓋原來的值,而是附加到後面。 

注意:規則跟array_merge基本相同,只是在處理相同字符鍵名的時候,採用遞歸追加
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章