PHP函數array_merge()與加號運算子的不同之處_PHP教程

來源:互聯網
上載者:User
我們今天為大家介紹的是array_merge在參考手冊中的說明如下:

PHP函數array_merge()將兩個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的後面。返回作為結果的數組。

如果輸入的數組中有相同的字串鍵名,則該鍵名後面的值將覆蓋前一個值。然而,如果數組包含數字鍵名,後面的值將不會覆蓋原來的值,而是附加到後面。

PHP函數array_merge()與加號運算子兩個的區別是:

1.數組鍵名為數字鍵名時,要合并的兩個數組中有同名數字KEY的時候,使用array_merge()不會覆蓋掉原來的值,而使用“+”合并數組則會 把最先出現的值作為最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉(注意:不是覆蓋而是保留最先出現的那個值)。例子:

  1. $arrayarray1 = array(1=>'0');
  2. $arrayarray2 = array(1=> "data");
  3. $result1 = $array2 + $array1;/*結果為$array2的值*/
  4. print_r($result);
  5. $result = $array1 + $array2 ;/*結果為$array1的值*/
  6. print_r($result);
  7. $result3 = array_merge($array2,$array1);/*結果為$array2和$array1的值,鍵名被重新分配*/
  8. print_r($result3);
  9. $result4 = array_merge($array1,$array2);/*結果為$array1和$array2的值,鍵名被重新分配*/
  10. print_r($result4);

輸出結果為:

  1. Array ( [1] => data )
  2. Array ( [1] => 0 )
  3. Array (
  4. [0] => data
  5. [1] => 0
  6. )
  7. Array
  8. (
  9. [0] => 0
  10. [1] => data
  11. )

2.當相同數組鍵名為字元時,“+”運算子與鍵名為數字時一樣,但PHP函數array_merge()此時會覆蓋掉前面相同鍵名的值。

例子:

  1. $arrayarray1 = array('asd'=>'0');
  2. $arrayarray2 = array('asd' => "data");
  3. $result1 = $array2 + $array1;/*結果為$array2的值*/
  4. print_r($result);
  5. $result = $array1 + $array2 ;/*結果為$array1的值*/
  6. print_r($result);
  7. $result3 = array_merge($array2,$array1);/*結果為$array1*/
  8. print_r($result3);
  9. $result4 = array_merge($array1,$array2);/*結果為$array2*/
  10. print_r($result4);

輸出結果為:

  1. Array ( [asd] => data )
  2. Array ( [asd] => 0 )
  3. Array ( [asd] => 0 )
  4. Array ( [asd] => data )

以上就是PHP函數array_merge()與加號運算子在實際使用中的不同之處。


http://www.bkjia.com/PHPjc/446400.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446400.htmlTechArticle我們今天為大家介紹的是 array_merge在參考手冊中的說明如下: PHP函數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.