PHP中的數組是非常重要的數據類型,開發者常常需要對數組進行合併操作。本文將介紹PHP中四種不同的合併數組的方法,包括使用”+”, “array_merge()”, “array_merge_recursive()”, “array_replace()”函數。
一、使用”+”運算符合併數組
PHP中最簡單的合併數組的方式,就是使用”+”運算符。這種方法可以將兩個數組合併成一個,重複的鍵值對只保留第一個。
$firstArray = array('name' => 'Tom', 'age' => 20, 'city' => 'Beijing'); $secondArray = array('name' => 'Jerry', 'tel' => '123456789', 'city' => 'Shanghai'); $mergedArray = $firstArray + $secondArray; print_r($mergedArray);
輸出結果為:
Array ( [name] => Tom [age] => 20 [city] => Beijing [tel] => 123456789 )
可以看到,合併後的數組保留了$firstArray中的”name”、”age”、”city”三個鍵值對,同時添加了$secondArray中的”tel”鍵值對。
二、使用array_merge()函數合併數組
PHP中的array_merge()函數可以將任意多個數組合併為一個數組。如果數組具有相同的字元串鍵名,則後面的值將覆蓋前面的值,而數字鍵名將會被重新索引。
$firstArray = array('name' => 'Tom', 'age' => 20, 'city' => 'Beijing'); $secondArray = array('name' => 'Jerry', 'tel' => '123456789', 'city' => 'Shanghai'); $thirdArray = array('gender' => 'male', 'city' => 'Guangzhou'); $mergedArray = array_merge($firstArray, $secondArray, $thirdArray); print_r($mergedArray);
輸出結果為:
Array ( [name] => Jerry [age] => 20 [city] => Guangzhou [tel] => 123456789 [gender] => male )
其中,$thirdArray中的”city”鍵值對覆蓋了$firstArray和$secondArray中的”city”鍵值對。
三、使用array_merge_recursive()函數合併數組
array_merge_recursive()函數與array_merge()函數類似,也可以將任意多個數組合併為一個數組。但不同的是,如果數組中具有相同的字元串鍵名,它們的值將會以數組形式合併,而不是被覆蓋。
$firstArray = array('name' => 'Tom', 'age' => 20, 'city' => array('Beijing', 'Shanghai')); $secondArray = array('name' => 'Jerry', 'tel' => '123456789', 'city' => 'Shanghai'); $mergedArray = array_merge_recursive($firstArray, $secondArray); print_r($mergedArray);
輸出結果為:
Array ( [name] => Array ( [0] => Tom [1] => Jerry ) [age] => 20 [city] => Array ( [0] => Beijing [1] => Shanghai [2] => Shanghai ) [tel] => 123456789 )
可以看到,$firstArray和$secondArray中都有”city”鍵值對,但它們的值類型不同。合併後的數組中,”city”鍵值對的值變成了一個包含三個元素的數組。
四、使用array_replace()函數合併數組
array_replace()函數可以將一個數組中的值替換為另一個數組中相應的值。
$firstArray = array('name' => 'Tom', 'age' => 20, 'city' => 'Beijing'); $secondArray = array('name' => 'Jerry', 'tel' => '123456789', 'city' => 'Shanghai'); $replacedArray = array_replace($firstArray, $secondArray); print_r($replacedArray);
輸出結果為:
Array ( [name] => Jerry [age] => 20 [city] => Shanghai [tel] => 123456789 )
可以看到,$secondArray中的鍵值對替換了$firstArray中相應的鍵值對。
總結
本文介紹了PHP中四種合併數組的方法,分別是使用”+”運算符、array_merge()、array_merge_recursive()、array_replace()函數。不同的方法適用於不同的場景,在實際開發中需要根據情況選擇合適的方式。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/181993.html