配列操作は、PHP でプログラミングする場合に最も一般的なタスクの 1 つです。その中でも、配列内の値を置換することも一般的な操作の 1 つです。
PHP では、array_replace() と array_replace_recursive() という 2 つの関数を使用して配列内の値を置換できます。以下、2つの機能それぞれの使い方と注意点を紹介します。
1. array_replace()
array_replace() 関数は、1 つ以上の配列の値を元の配列に置き換えます。構文は次のとおりです。
mixed array_replace ( array $array1 , array $array2 [, array $... ] )
このうち、$array1 は元の配列、$array2 は元の配列で置き換える必要がある配列、$... は複数の配列がある場合に使用できます。交換する必要があります。
以下では、次のコード例を使用してこの関数の使用法を示します。
<?php $array1 = array("a" => "red", "b" => "green"); $array2 = array("a" => "blue", "yellow"); $result = array_replace($array1, $array2); print_r($result); ?>
出力結果は次のとおりです。
Array ( [a] => blue [b] => green [0] => yellow )
キーが元の配列 $array1 の = 'a' の値は、$array2 の key = 'a' の値に置き換えられます。$array2 にはキーはありませんが、数値の下付き文字で直接補足されるため、新しい要素 0生成されるのは「黄色」です。
2. array_replace_recursive()
array_replace_recursive() 関数は array_replace() に似ており、1 つ以上の配列の値を元の配列に置き換えます。違いは、配列が多次元にネストされている場合、関数はすべてのサブ配列の対応する値を再帰的に置き換えることです。構文は次のとおりです。
mixed array_replace_recursive ( array $array1 , array $array2 [, array $... ] )
以下では、次のコード例を使用して、この関数の使用方法を示します。
<?php $array1 = array("a" => array("red"), "b" => array("green", "blue")); $array2 = array("a" => array("yellow"), "b" => array("black")); $result = array_replace_recursive($array1, $array2); print_r($result); ?>
出力結果は次のとおりです。
Array ( [a] => Array ( [0] => yellow ) [b] => Array ( [0] => black [1] => blue ) )
元の配列 $array1 の key = 'a' と key = 'b' の対応する値が $array2 の値に置き換えられていることがわかります。
3. 注意事項
array_replace() および array_replace_recursive() 関数を使用する場合は、次の点に注意する必要があります。後の配列は前の配列の値を置き換え、前の配列に対応するキーと値のペアは削除されます。
以上がPHPで配列内の値を置換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。