PHP合并數組+與array_merge的區別_PHP教程

來源:互聯網
上載者:User
PHP中合并兩個數組可以使用+或者array_merge,但這兩個還是有區別的,清楚的瞭解這兩中處理方法的區別對項目的快速開發來說還是非常有必要的。
 
主要區別是當兩個或者多個數組中如果出現相同鍵名,需要注意以下兩點:

首先需要說明一下php裡面數組按鍵名大約可以分為字串(關聯陣列)或者數字(數值數組),這裡就不討論多維陣列了。
 
(1)鍵名為數字(數值數組)時,array_merge()不會覆蓋掉原來的值,但+合并數組則會把最先出現的值作為最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉(不是覆蓋)。
 
(2)鍵名為字元(關聯陣列)時,+仍然把最先出現的值作為最終結果返回,把後面的數組擁有相同鍵名的那些值“拋棄”掉,但array_merge()此時會覆蓋掉前面相同鍵名的值。

下面通過幾個具體的例子進行說明:

m:Array (
    [0] => a
    [1] => b
)
n:Array (
    [0] => c
    [1] => d
)
m+n 結果為 : Array (
    [0] => a
    [1] => b
)
array_merge(m,n)結果為 : Array (
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
m:Array (
    [1] => a
    [2] => b
)
n:Array (
    [2] => c
    [3] => d
)
m+n結果為 : Array (
    [1] => a
    [2] => b
    [3] => d
)
array_merge(m,n)結果為 : Array (
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
m:Array (
    [a] => a
    [b] => b
)
n:Array (
    [b] => c
    [d] => d
)
m+n結果為 : Array (
    [a] => a
    [b] => b
    [d] => d
)
array_merge(m,n)結果為 : Array (
    [a] => a
    [b] => c
    [d] => d
)

您可能感興趣的文章

  • php在數組中尋找某個值是否存在(in_array(),array_search(),array_key_exists())
  • PHP 產生連續的數字(字母)數組函數range()分析,PHP抽獎程式函數
  • php中在變數和函數前加static關鍵字之後的區別
  • PHP中跳出多重迴圈使用break,continue,goto,return,exit的用法和區別
  • php字串替換函數str_replace速度比preg_replace快
  • php擷取目錄所有檔案並將結果儲存到數組的程式
  • 用PHP函數memory_get_usage擷取當前PHP記憶體消耗量以實現程式的效能最佳化
  • 關於使用in_array() foreach array_search() 尋找數組是否包含時的效能對比

http://www.bkjia.com/PHPjc/764102.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/764102.htmlTechArticlePHP中合并兩個數組可以使用+或者array_merge,但這兩個還是有區別的,清楚的瞭解這兩中處理方法的區別對項目的快速開發來說還是非常有必...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.