array_merge_recursive() - 複数の配列を再帰的にマージする
公開日:
array_merge_recursive
は、指定した複数の配列を再帰的にマージする関数です。キー名が重複しても、上書きされずにマージされます。
構文
パラメータ
$array1
対象の配列。
$...
第2引数以降にマージの対象となる配列を複数指定できます。
返り値
array
引数に指定した複数の配列を再帰的にマージしてできた新しい配列。
サンプルコード
再帰的にマージする
array_merge
の場合、キー名が重複すると後の配列の値が前の配列の値を上書きしてしまいます。しかし、array_merge_recursive
の場合は上書きせずに、配列としてマージされます。"b"
のキーに注目して下さい。
php
<?php
// 配列
$queue1 = [
"a" => 1 ,
"b" => 2 ,
] ;
$queue2 = [
"b" => 3 ,
"c" => 4 ,
] ;
// 実行
$result = array_merge_recursive( $queue1, $queue2 ) ;
// 返り値
print_r( $result ) ;
結果 (出力内容) - PHP7.0.21
Array
(
[a] => 1
[b] => Array
(
[0] => 2
[1] => 3
)
[c] => 4
)
サンドボックス
ソースコードを編集してarray_merge_recursive()
の挙動を確認して下さい。
参考リンク
- PHP - 公式マニュアル。