array_merge_recursive - 複数の配列を再帰的にマージする
array_merge_recursiveは、指定した複数の配列を再帰的にマージする関数です。キー名が重複しても、上書きされずにマージされます。
構文
パラメータ
$array1
対象の配列。
$...
第2引数以降にマージの対象となる配列を複数指定できます。
返り値
array
引数に指定した複数の配列を再帰的にマージしてできた新しい配列。
サンプルコード
<?php
$array1 = [
"a" => 1 ,
"b" => 2 ,
] ;
$array2 = [
"b" => 3 ,
"c" => 4 ,
] ;
$response = array_merge_recursive( $array1, $array2 ) ;
デモ
再帰的にマージする
array_mergeの場合、キー名が重複すると後の配列の値が前の配列の値を上書きしてしまいます。しかし、array_merge_recursiveの場合は上書きせずに、配列としてマージされます。"b"のキーに注目して下さい。
<?php
/*** このコードは編集できます。 ***/
$array1 = [
"a" => 1 ,
"b" => 2 ,
] ;
$array2 = [
"b" => 3 ,
"c" => 4 ,
] ;
$response = array_merge_recursive( $array1, $array2 ) ;
print_r( $response ) ;
参考
- PHP: array_merge_recursive
- PHPの公式リファレンス。
関連記事
- array_walk_recursive
- ユーザー定義の関数を全ての要素に、再帰的に適用する。
- array_unshift
- 配列の先頭に要素を追加する。
- array_unique
- 配列から重複した値を削除する。
- array_rand
- 配列から1つ以上の値をランダムに取得する。
- array_merge
- 配列をマージする 。
- array_flip
- 配列のキーと値を反転する。