Foreach ループを使用した配列値の変更
問題:
配列を反復処理する場合foreach ループを使用すると、配列を変換するときに配列値に加えられた変更が反映されない場合があります。文字列。これはどのように解決できますか?
解決策:
foreach ループ内で配列値の変更を永続的にするには、値の実際のメモリ位置を変更することが重要です。 。これを実現するには、次の 2 つのアプローチがあります。
1.メモリ参照:
ループ変数の先頭にアンパサンド (&) を付けると、元の配列要素への参照が作成されます:
foreach ($bizaddarray as &$value) { $value = strip_tags(ucwords(strtolower($value))); }
このようにして、ループ内の $value は元の配列に直接反映されます。ループの後で変数の設定を解除して参照を解除することを忘れないでください。
2.ソース配列:
または、インデックス ループを使用してソース配列に直接アクセスできます:
foreach ($bizaddarray as $key => $value) { $bizaddarray[$key] = strip_tags(ucwords(strtolower($value))); }
ここでは、$key 変数を使用して、ファイル内の対応する要素を操作できます。オリジナルの$bizaddarray。これらのメソッドはいずれも配列の値を安全に変更し、配列を文字列に変換するときに HTML タグが完全に削除されるようにします。
以上がPHP の Foreach ループ内で配列値を永続的に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。