PHPで配列をマージする方法は何ですか?
PHPで配列をマージする方法はいくつかあります:
- 操作子を使用する:操作子を使用することで、2つの配列を新しい配列にマージすることができます。もし2つの配列に同じキー名がある場合、後の配列が前の配列を上書きします。
$array1 = array("a" => "apple", "b" => "banana");
$array2 = array("c" => "cat", "d" => "dog");
$result = $array1 + $array2;
print_r($result);
結果:結論
Array
(
[a] => apple
[b] => banana
[c] => cat
[d] => dog
)
- array_merge関数を使用する:array_merge関数は複数の配列を1つの新しい配列にマージすることができます。同じキー名がある場合、後の配列が前の配列を上書きします。
$array1 = array("a" => "apple", "b" => "banana");
$array2 = array("c" => "cat", "d" => "dog");
$result = array_merge($array1, $array2);
print_r($result);
結果:結論
Array
(
[a] => apple
[b] => banana
[c] => cat
[d] => dog
)
- array_merge_recursive関数を使用する:array_merge_recursive関数は複数の配列を1つの新しい配列にマージし、同じキー名がある場合は値を再帰的に1つの配列にマージします。
$array1 = array("a" => "apple", "b" => "banana");
$array2 = array("b" => "blue", "c" => "cat");
$result = array_merge_recursive($array1, $array2);
print_r($result);
結果:結論
Array
(
[a] => apple
[b] => Array
(
[0] => banana
[1] => blue
)
[c] => cat
)
上記の方法では、配列のマージが後の配列を前の配列に追加する方法であることに注意すべきです。同じキー名の要素を保持したい場合は、array_replaceまたはarray_replace_recursive関数を使用する必要があります。