トラバーサル置換手順: 1. foreach ステートメントを使用して、ループを参照して配列をトラバースします。構文は、「foreach($arr as $k=>&$v){//ループ本体ステートメント ブロック」です。 ;}"; 2. ループ本体で、「===」演算子を使用して、指定されたフィールドの要素を検索し、値を再割り当てします。構文 "foreach($arr as $k=>&$v){ if($k===フィールド値を指定){$v=置換値;}}"。
このチュートリアルの動作環境: Windows7 システム、PHP8.1 バージョン、DELL G3 コンピューター
php 配列では、次を使用できます。 foreach ステートメントをトラバースして、特定のフィールド (キー名) の値を置き換えます。
実装手順:
ステップ 1: foreach ステートメントを使用して、参照ループを通じて配列を走査します。
foreach ($array as $key => &$value){ //循环体语句块; }
与えられた $array 配列は、各ループで現在の配列の値を $value に割り当て、キー名を $key に割り当てます。
通常、foreach ステートメントを使用して配列を走査する場合、このステートメントは配列のバックアップに対して動作し、配列自体には影響しません。
ループを通じて配列を変更したい場合は、参照ループを使用できます (
$value
の前に&
を追加して、foreach ステートメントで値をコピーする代わりに参照による値を使用すると、ループ本体内で配列を操作すると、配列自体に影響を与えます。
ステップ 2: ループ本体で、「===」演算子を使用して指定されたフィールドを検索し、値を再割り当てします
if($key===指定字段){ $value=新值; }
完全なコード例:
<?php header(&#39;content-type:text/html;charset=utf-8&#39;); function f($arr,$s,$r){ foreach($arr as $k=>&$v){ if($k===$s){ $v=$r; } } echo "字段 $s 的值替换为 $r"; var_dump($arr); } $arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); echo "原数组:"; var_dump($arr); f($arr,"a","aaa"); f($arr,"b","bbb"); f($arr,"c","ccc"); ?>
最後の要素の前に & があることがわかります。これは、配列は foreach ループの後に残ります。それを破棄するには unset() を使用する必要があります。
unset($v); // 最后取消掉引用
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHP配列内の特定のフィールド(キー名)の値を走査して置換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。