PHP array_replace()関数

第2の配列($a2)の値を使用して第1の配列($a1)の値を置き換える:

<?php
$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_replace($a1,$a2));
?>

実行例

定義と使用方法

array_replace()関数は、後続の配列の値を使用して最初の配列の値を置き換えます。

ヒント:関数に配列、または複数の配列を渡すことができます。

、第1の配列 array1 も同時に第2の配列に存在する場合 array2、最初の配列 array1 の値が第2の配列 array2 の値で置き換えます。もしキーが最初の配列 array1、それは変更されません。(以下の例1を参照してください)

もし第2の配列 array2、しかし最初の配列には存在しません array1、最初の配列 array1 でこの要素を生成します。(以下の例2を参照してください)

複数の置き換え配列が渡された場合、それらは順序に処理され、後の配列の値は前の配列の値をオーバーライドします。(以下の例3を参照してください)

ヒント:使用してください array_replace_recursive() を後続の配列の値を使用して、最初の配列の値を再帰的に置き換えるために使用します。

文法

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

技術的詳細

返り値: 置き換えられた配列を返します。エラーが発生した場合、NULL を返します。
PHP バージョン: 5.3.0+

さらに例

例 1

もしキーが array1 中にも存在する array2 中、最初の配列の値は第2の配列の値で置き換わります:

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("a"=>"orange","burgundy");
print_r(array_replace($a1,$a2));
?>

実行例

例 2

もしキーが第2の配列にのみ存在する場合:

<?php
$a1=array("a"=>"red","green");
$a2=array("a"=>"orange","b"=>"burgundy");
print_r(array_replace($a1,$a2));
?>

実行例

例 3

3つの配列を使用 - 最後の配列($a3)は、前の配列($a1 と $a2)をオーバーライドします:

<?php
$a1=array("red","green");
$a2=array("blue","yellow");
$a3=array("orange","burgundy");
print_r(array_replace($a1,$a2,$a3));
?>

実行例

例 4

数値キーを使用 - もしキーが第2の配列に存在して第1の配列には存在しない場合:

<?php
$a1=array("red","green","blue","yellow");
$a2=array(0=>"orange",3=>"burgundy");
print_r(array_replace($a1,$a2));
?>

実行例