首頁 >後端開發 >php教程 >PHP數組合併中+運算子和array_merge()之間有什麼差別?

PHP數組合併中+運算子和array_merge()之間有什麼差別?

青灯夜游
青灯夜游原創
2019-04-03 14:06:032709瀏覽

在PHP中,可以透過使用( )運算子或array_merge()函數來合併陣列;但這兩種方法有細微的差別。以下這篇文章就來帶大家了解這兩種方法的差別,希望對大家有幫助。

PHP數組合併中+運算子和array_merge()之間有什麼差別?

使用array_merge()函數合併陣列

array_merge()函數是內建函數,可以用於連接一個或多個作為輸入提供的數組,而不管它們的類型;並傳回一個新數組。在此合併過程中,數組的值將附加到前一個數組的末尾,以產生結果數組。

語法:

array_merge( $arr1, $arr2, $arr3... )

參數: array_merge()函數接受一個或多個輸入數組,並將它們合併為單一結果數組。

注意:在array_merge()函數中,如果輸入陣列具有相同的字串鍵,則在結果陣列中,該鍵的後一個值將覆寫前一個值。但是,如果陣列包含數字鍵,那麼值將不會被替換,它們只會附加到結果陣列中。同樣,在數字數組的情況下,結果數組中的鍵值將從零開始重新編號。

使用 運算符合並陣列

#合併兩個陣列的另一種方法就是透過使用「陣列 陣列」的方法。運算符是一個二元運算符,意味著它一次只能合併兩個數組;在此合併過程中,將右側數組追加到左手數組的末尾。

語法

$arr3 = $arr1 + $arr2

參數:( )運算子一次處理兩個陣列並產生結果陣列。

注意:如果使用( )運算符合併數組,如果兩個數組中有相同的鍵(無論是字串鍵,還是數字鍵),則結果數組只會保留與鍵對應的左側數組中的值,右側數組的值將被忽略。

運算子和array_merge()的差異

#下面透過程式碼範例來看看運算子和array_merge()之間的區別。

範例1:使用array_merge()合併陣列

<?php 
header("content-type:text/html;charset=utf-8");
$arr1 = array( &#39;zero&#39; => 0, 
               &#39;one&#39; => 1, 
               &#39;two&#39; => 2, 10, 11, 12, 13 
        ); 
          
$arr2 = array( &#39;one&#39; => 11, 
               &#39;three&#39; => 3, 
               &#39;four&#39; => 4, 12, 13, 14, 15 
        ); 
  
$arr3 = array_merge($arr1, $arr2); 
      
echo "使用array_merge()合并数组的结果:<br>"; 
var_dump($arr3);  
?>

輸出:

使用array_merge()合并数组的结果:
array (size=13)
  &#39;zero&#39; => int 0
  &#39;one&#39; => int 11
  &#39;two&#39; => int 2
  0 => int 10
  1 => int 11
  2 => int 12
  3 => int 13
  &#39;three&#39; => int 3
  &#39;four&#39; => int 4
  4 => int 12
  5 => int 13
  6 => int 14
  7 => int 15

範例2:使用( )運算符合併數組

<?php 
header("content-type:text/html;charset=utf-8");
$arr1 = array( &#39;zero&#39; => 0, 
               &#39;one&#39; => 1, 
               &#39;two&#39; => 2, 10, 11, 12, 13 
        ); 
          
$arr2 = array( &#39;one&#39; => 11, 
               &#39;three&#39; => 3, 
               &#39;four&#39; => 4, 12, 13, 14, 15 
        );      
$arr4 = $arr1 + $arr2; 
      
echo "<br>使用(+)运算符合并数组的结果:<br>"; 
var_dump($arr4); 
?>

輸出:

使用(+)运算符合并数组的结果:
array (size=9)
  &#39;zero&#39; => int 0
  &#39;one&#39; => int 1
  &#39;two&#39; => int 2
  0 => int 10
  1 => int 11
  2 => int 12
  3 => int 13
  &#39;three&#39; => int 3
  &#39;four&#39; => int 4

相關影片教學推薦:《PHP教學

以上就是本篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !

以上是PHP數組合併中+運算子和array_merge()之間有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn