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(array1、array2、array3...)
パラメータ | 説明 |
---|---|
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); ?>