Foreach ループを使用した配列値の変更
foreach ループ中に配列の値を変更するには、正しいメモリ位置をアドレス指定する必要があります。一般的な foreach ループは値のコピーを反復処理するため、元の配列を変更しようとすると予期しない結果が生じる可能性があります。
解決策 1: メモリの直接参照
配列値を直接変更するには、foreach ループ内の $value 変数の前に参照 (&) を使用します。これにより、コピーではなく、元の配列のメモリ位置を変更していることが保証されます。
foreach ($bizaddarray as &$value) { $value = strip_tags(ucwords(strtolower($value))); } unset($value); // Remove the reference
解決策 2: ソース配列から値にアクセスする
または、次のこともできます。 foreach ループ内のキーを使用して、元の配列値にアクセスします。このメソッドは、連想配列を扱う場合に特に便利です。
foreach ($bizaddarray as $key => $value) { $bizaddarray[$key] = strip_tags(ucwords(strtolower($value))); }
これらのメソッドのいずれかを使用すると、foreach ループ中に配列の値を永続的に変更でき、配列の変換時に削除されたタグが確実に削除されたままになります。文字列に変換します。
以上がPHP の Foreach ループ内で配列値を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。