PHP array_replace_recursive()関数
例
再帰的に2番目の配列($a2)の値を使用して、最初の配列($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));
?>
$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 と2番目の配列 array2 の両方に存在する場合、最初の配列 array1 の値は2番目の配列 array2 の値で置き換えられます。キーが最初の配列 array1 にのみ存在する場合、それは変更されません。キーが2番目の配列 array2 に存在するが最初の配列 array1 には存在しない場合、最初の配列 array1 にこの要素が作成されます。複数の置換配列を渡した場合は、それらは順番に処理され、後続の配列の値が前の配列の値を上書きします。
注記:各配列にキーが指定されていない場合、この関数の動作は array_replace() 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));
?>
$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);
?>
$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 Array リファレンスマニュアル その他の拡張