PHP array_replace() 関数

❮ PHP 配列リファレンス

最初の配列($a1)の値を2番目の配列($a2)の値で置き換えます:

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

定義と用法

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

チップ: 1つまたは複数の配列を関数に割り当てることができます。

array1のキーが、array2に存在する場合、array1の値はarray2の値に置き換えられます。 キーがarray1にしか存在しない場合は、そのままで何も変わりません(下記の例1を参照)。

キーがarray2に存在し、array1には存在しない場合、そのキーがarray1に作成されます(下記の例2を参照)。

複数の配列を使用する場合、前の配列の値は後の配列の値で上書きされます(下記の例3を参照)。

チップ: array1の値を、後続の配列の値で再帰的に置き換えるには、 array_replace_recursive()を使用します。


構文

array_replace(array1,array2,array3...)

パラメータ 説明
array1 必須。配列を指定する
array2 任意。array1の値を置き換える配列を指定する
array3,... 任意。array1 array2 などで置き換えられた値を、更に置換するための配列を指定する。 後の配列の値は、前の配列の値を上書きする

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

その他の例

例 1

array1のキーがarray2に存在する場合と、キーがarray1のみに存在する場合:

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

例 2

キーが配列2に存在し、array1に存在しない場合:

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

数値キーを使用する - キーがarray2に存在し、array1に存在しない場合:

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

❮ PHP 配列リファレンス