array_replace
array_replace関数は配列内の要素(値)を
別の配列の情報に置き換えたいという場合に使用します。
書式
配列をの要素を置き換える
$配列変数名 = array_replace(‘置換される配列変数名’, ‘置換したい配列変数名’);
引数
1つ目の引数には置換される(置換前の値が含まれる)配列変数名を指定します。
2つ目の引数には置換したい(置換後の値が含まれる)配列変数名を指定します。
1つ目の引数で指定した配列の中のキーが一致するものだけを
2つ目の引数で指定した配列の中の値に置き換えるといったイメージになります。
(キー名が一致しないものは置き換わらずにそのまま残る)
また引数には3つ目以降に配列名を入れられるようになっており、
キーが一致したものは後から指定した配列内の値に置き換えられていくといったイメージになります。
array_replace('置換される配列変数名', '置換したい配列変数名1', '置換したい配列変数名2', ・・・ );
返り値
下記のようにすると $var_replace の中には、返り値には置換をした後の配列が返ります。
$var_replace = array_replace($var1, $var2);
使用例
下記のようにすると $var_replace 変数の中には
キーの値が一致している [0], [1], [2] だけが $var1 から $var2 のものに置き換わります。
<pre> <?php $var1 = array('aaa', 'bbb', 'ccc', 'ddd', 'eee'); $var2 = array('zzz', 'yyy', 'xxx'); $var_replace = array_replace($var1, $var2); var_dump($var_replace); ?> </pre>
結果は以下のように aaa, bbb, ccc の要素が zzz, yyy, xxx にそれぞれ置き換わります。
また下記のようにすると該当するキーの部分だけを置き換えるといいたことも可能になります。
<pre> <?php $var1 = array('key1' => 'aaa', 'key2' => 'bbb', 'key3' => 'ccc', 'key4' => 'ddd', 'key5' => 'eee'); $var2 = array('key4' => 'zzz', 'key2' => 'yyy'); $var_replace = array_replace($var1, $var2); var_dump($var_replace); ?> </pre>
この場合は key4 と key2 の部分の値だけが置き換わるといった形になります。
今回はここまでにします。