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-hant/n/181993.html
微信掃一掃
支付寶掃一掃