最初の配列の値を2番目の配列の値で再帰的に置き換えます:
<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
print_r(array_replace_recursive($a1,$a2));
?>
例の実行 »
array_replace_recursive() 関数は、最初の配列の値を、後続の配列の値で置き換えます。
チップ: 1つまたは複数の配列を関数に割り当てることができます。
array1のキーが、array2に存在する場合、array1の値はarray2の値に置き換えられます。 キーがarray1にしか存在しない場合は、そのままで何も変わりません キーがarray2に存在し、array1には存在しない場合、そのキーがarray1に作成されます。 複数の配列を使用する場合、前の配列の値は後の配列の値で上書きされます。
注: 配列ごとにキーを指定しない場合、この関数は、 array_replace() 関数とまったく同じように動作します。
array_replace_recursive(array1,array2,array3...)
パラメータ | 説明 |
---|---|
array1 | 必須。配列を指定する |
array2 | 任意。array1の値を置き換える配列を指定する |
array3,... | 任意。array1 と array2 などで置き換えられた値を、更に置換するための配列を指定する。 後の配列の値は、前の配列の値を上書きする |
返り値: | 置き換えられた配列を返します。エラーが発生した場合はNULLを返します |
---|---|
PHP バージョン: | 5.3.0+ |
複数の配列:
<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"));
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$a3=array("a"=>array("orange"),"b"=>array("burgundy"));
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("yellow"),"b"=>array("black"));
$result=array_replace_recursive($a1,$a2);
print_r($result);
$result=array_replace($a1,$a2);
print_r($result);
?>
例の実行 »