PHP如何合併一個或多個數組

王林
發布: 2024-03-19 10:44:02
轉載
1140 人瀏覽過

php小編香蕉為您詳細介紹如何合併一個或多個陣列。在PHP中,可以使用array_merge()函數將多個數組合併成一個新數組,也可以使用加號運算子( )實現數組合併。另外,array_merge_recursive()函數可以合併多維數組。對於關聯數組,可以使用" "運算子來合併。在實際開發中,根據具體需求選擇合適的方法進行數組合併,讓程式更有效率和彈性。

PHP 合併陣列

php 提供了多種方法來合併一個或多個陣列:

array_merge() 函數

array_merge() 函數是合併陣列最簡單的方法。它將多個數字組合併成一個新數組。

$arr1 = [1, 2, 3];
$arr2 = ["a", "b", "c"];

$mergedArr = array_merge($arr1, $arr2);

print_r($mergedArr); // 輸出 [1, 2, 3, "a", "b", "c"]
登入後複製

運算子

# 運算子也可以合併數組,但僅限於兩個數組。

$arr1 = [1, 2, 3];
$arr2 = ["a", "b", "c"];

$mergedArr = $arr1 $arr2;

print_r($mergedArr); // 輸出 [1, 2, 3, "a", "b", "c"]
登入後複製

array_combine() 函數

array_combine() 函數建立一個新數組,其中一個數組的元素作為鍵,另一個數組的元素作為值。

$keys = ["id", "name", "age"];
$values = [1, "John", 30];

$mergedArr = array_combine($keys, $values);

print_r($mergedArr); // 輸出 ["id" => 1, "name" => "John", "age" => 30]
登入後複製

array_map() 函數

array_map() 函數可讓您將一個或多個函數套用到每個陣列元素,然後傳回一個新陣列。這可以用於合併數組,例如將兩個數組的相應元素相加。

$arr1 = [1, 2, 3];
$arr2 = ["a", "b", "c"];

$mergedArr = array_map(function($a, $b) { return $a . $b; }, $arr1, $arr2);

print_r($mergedArr); // 輸出 ["1a", "2b", "3c"]
登入後複製

巢狀數組

#如果需要合併巢狀數組,可以使用遞迴函數或 array_merge_recursive() 函數。

array_merge_recursive() 函數

#array_merge_recursive() 函數遞歸合併數組,合併巢狀數組中的所有子元素。

$arr1 = [
"name" => "John",
"age" => 30,
"children" => [
["name" => "Alice", "age" => 5],
["name" => "Bob", "age" => 8],
],
];

$arr2 = [
"name" => "Jane",
"age" => 35,
"children" => [
["name" => "Carol", "age" => 10],
],
];

$mergedArr = array_merge_recursive($arr1, $arr2);

print_r($mergedArr); // 輸出 [
"name" => "Jane",
"age" => 35,
"children" => [
["name" => "Alice", "age" => 5],
["name" => "Bob", "age" => 8],
["name" => "Carol", "age" => 10],
],
]
登入後複製

遞迴函數

#也可以使用遞歸函數來合併巢狀數組。

function mergeNestedArrays($arr1, $arr2) {
foreach ($arr2 as $key => $value) {
if (is_array($value) && isset($arr1[$key]) && is_array($arr1[$key])) {
$arr1[$key] = mergeNestedArrays($arr1[$key], $value);
} 別的 {
$arr1[$key] = $value;
}
}

返回 $arr1;
}

$arr1 = [
“姓名” => “約翰”,
“年齡”=> 30、
“孩子們”=> [
[“姓名”=> “愛麗絲”,“年齡”=> 5],
[“姓名”=> “鮑伯”,“年齡”=> 8],
],
];

$arr2 = [
“姓名” => “簡”,
“年齡”=> 35、
“孩子們”=> [
[“姓名”=> “卡羅爾”,“年齡”=> 10],
],
];

$mergedArr = mergeNestedArrays($arr1, $arr2);

print_r($mergedArr); // 輸出[
“姓名” => “簡”,
“年齡”=> 35、
“孩子們”=> [
[“姓名”=> “愛麗絲”,“年齡”=> 5],
[“姓名”=> “鮑伯”,“年齡”=> 8],
[“姓名”=> “卡羅爾”,“年齡”=> 10],
],
]
登入後複製

以上是PHP如何合併一個或多個數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:lsjlt.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!