PHP array_replace_recursive() 関数

再帰的に第2の配列($a2)の値を第1の配列($a1)の値に置き換える:

<?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、も同時に第2の配列 array1 に存在する場合 array2 の値が置き換わります。 array1に存在する場合 array2、それが変わることはありません。 array1に存在しない場合 array1 、が最初の配列

中でこの要素を作成しています。複数の置き換え配列を渡した場合、配列は順序に処理され、後の配列の値は前の配列の値を上書きします。コメント: array_replace() 関数。

文法

array_replace_recursive(array1array2array3...)
パラメータ 説明
array1 必須。配列を指定します。
array2 オプション。置き換え array1 の値の配列を指定します。
array3,... オプション。複数の置き換え array1 および array2、... の値の配列。後の配列の値は前の配列の値を上書きします。

技術的詳細

返り値: エラーが発生した場合には NULL を返します。
PHP バージョン: 5.3.0+

さらに例

例 1

複数の配列:

<?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));
?>

実行例

例 2

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);
?>

実行例