最初の配列 ($a1) の値を 2 番目の配列 ($a2) の値に再帰的に置き換えます。
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"),);$a2=array("a"=>array( "黄"),"b"=>array("黒"));print_r(array_replace_recursive($a1,$a2));?>array_replace_recursive() 関数は、最初の配列の値を後続の配列の値に再帰的に置き換えます。
ヒント: 1 つまたは複数の配列を関数に渡すことができます。
キーが最初の配列 array1 に存在し、2 番目の配列 array2 にも存在する場合、最初の配列 array1 の値は 2 番目の配列 array2 の値で置き換えられます。キーが最初の配列 array1 にのみ存在する場合、キーは変更されないままになります。キーが 2 番目の配列 array2 に存在するが、最初の配列 array1 には存在しない場合、要素は最初の配列 array1 に作成されます。複数の置換配列が渡された場合、それらは順番に処理され、後続の配列の値が前の配列の値を上書きします。
注:各配列にキーを指定しない場合、この関数は array_replace() 関数と同じように動作します。
array_replace_recursive(配列1,配列2,配列3... )
パラメータ | 説明する |
---|---|
配列1 | 必須。配列を指定します。 |
配列2 | オプション。 array1の値を置き換える配列を指定します。 |
配列3、... | オプション。複数の配列を指定して、 array1 、 array2、...の値を置き換えます。次の配列の値は、前の配列の値を上書きします。 |
戻り値: | 置換された配列を返すか、エラーが発生した場合は NULL を返します。 |
---|---|
PHPのバージョン: | 5.3.0+ |
複数の配列:
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"));$a2=array("a"=>array(" yellow"),"b"=>array("blac k"));$a3=array("a"=>array("オレンジ"),"b"=>array("バーガンディ"));print_r(array_replace_recursive($a1,$a2,$a3)); ?>array_replace() と array_replace_recursive() の違い:
<?php$a1=array("a"=>array("red"),"b"=>array("green","blue"),);$a2=array("a"=>array( "黄"),"b"=>array("黒" ));$result=array_replace_recursive($a1,$a2);print_r($result);$result=array_replace($a1,$a2);print_r($result);?>