ホームページ  >  記事  >  バックエンド開発  >  PHP で 1 つ以上の配列をマージする方法

PHP で 1 つ以上の配列をマージする方法

王林
王林転載
2024-03-19 10:40:151138ブラウズ

php editor Banana では、1 つ以上の配列を結合する方法を詳しく紹介します。 PHP では、array_merge() 関数を使用して複数の配列を新しい配列にマージしたり、プラス演算子 () を使用して配列をマージしたりできます。さらに、array_merge_recursive() 関数は多次元配列をマージできます。連想配列の場合は、" " 演算子を使用して結合できます。実際の開発では、プログラムをより効率的かつ柔軟にするために、特定のニーズに基づいて配列のマージに適切な方法が選択されます。

PHP マージ配列

php 1 つ以上の配列を結合する複数のメソッドを提供します:

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"]

オペレータ

演算子は配列を結合することもできますが、配列は 2 つに制限されます。

$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, "ジョン", 30];

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

print_r($mergedArr); // 出力 ["id" => 1, "name" => "John", "age" => 30]

array_map() 関数

array_map() この関数を使用すると、各配列要素に 1 つ以上の関数を適用して、新しい配列を返すことができます。これは、2 つの配列の対応する要素を追加するなど、配列をマージするために使用できます。

$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"]

ネストされた配列

ネストされた配列をマージする必要がある場合は、 recursive 関数または array_merge_recursive() 関数を使用できます。

array_merge_recursive() 関数

array_merge_recursive() この関数は、配列を再帰的にマージし、ネストされた配列内のすべての子要素をマージします。

$arr1 = [
「名前」 => 「ジョン」、
「年齢」 => 30、
"子供たち" => [
["名前" => "アリス", "年齢" => 5],
["名前" => "ボブ", "年齢" => 8],
]、
];

$arr2 = [
「名前」 => 「ジェーン」、
「年齢」 => 35、
"子供たち" => [
["名前" => "キャロル", "年齢" => 10],
]、
];

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

print_r($mergedArr); // 出力 [
「名前」 => 「ジェーン」、
「年齢」 => 35、
"子供たち" => [
["名前" => "アリス", "年齢" => 5],
["名前" => "ボブ", "年齢" => 8],
["名前" => "キャロル", "年齢" => 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 で 1 つ以上の配列をマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlsjlt.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。