PHP array_replace_recursive()関数
例
最初の配列の値を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にのみ存在する場合は、そのままになります。キーがarray1ではなくarray2に存在する場合、そのキーはarray1に作成されます。複数の配列が使用されている場合、後の配列の値が前の配列を上書きします。
注:各配列にキーを指定しない場合、この関数はarray_replace()関数とまったく同じように動作します。
構文
array_replace_recursive(array1, array2, array3, ...)
パラメータ値
Parameter | Description |
---|---|
array1 | Required. Specifies an array |
array2 | Optional. Specifies an array which will replace the values of array1 |
array3,... | Optional. Specifies more arrays to replace the values of array1 and array2, etc. Values from later arrays will overwrite the previous ones. |
技術的な詳細
戻り値: | 置き換えられた配列を返します。エラーが発生した場合は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);
?>
❮PHP配列リファレンス