ホームページ >バックエンド開発 >PHPチュートリアル >PHP Foreach ループで元の配列値を変更するにはどうすればよいですか?

PHP Foreach ループで元の配列値を変更するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-07 22:02:13803ブラウズ

How Can I Modify Original Array Values in a PHP Foreach Loop?

PHP Foreach ループを使用した元の配列値の変更

PHP で多次元配列を操作する場合、場合によっては、元の配列をforeach ループ。ただし、現在の配列の名前 (例: 提供された例の "names") にアクセスすると、混乱する可能性があります。

この問題に対処するために、PHP では、"&" 演算子を使用して配列を参照によって渡すことができます。これにより、ループ内で配列に加えられた変更が元の配列に確実に反映されます。

参照渡しを使用した改訂コード:

function checkForm(&$fields){
    foreach($fields as &$field){
        if($field['required'] &amp;&amp; strlen($_POST[$field['name']]) <= 0){
            $field['value'] = "Some error";
        }
    }
    return $fields;
}

利点通りすがりの参照:

  • 効率の向上: 計算コストがかかる大きな配列のコピーを作成する必要がなくなります。
  • 単一真実の情報源: ループ内で行われた変更は元の配列に直接反映され、すべてが削除されます。

注意事項:

  • 使用には注意してください: 配列を参照で渡すと、予期しない副作用が発生する可能性があります。適切に処理されていません。
  • 代替手段を使用してくださいアプローチ: それほど複雑ではないシナリオの場合、要素へのアクセスと変更に配列キー ($key) を使用する方が安全なオプションとなります。

以上がPHP Foreach ループで元の配列値を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。