程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP函數array_merge()與加號運算符的不同之處

PHP函數array_merge()與加號運算符的不同之處

編輯:關於PHP編程

我們今天為大家介紹的是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()與加號運算符在實際使用中的不同之處。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved