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

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

Patricia Arquette
リリース: 2024-12-10 15:53:08
オリジナル
826 人が閲覧しました

How to Modify Original Array Values When Using foreach Loops in PHP?

PHP で foreach を反復処理する際に元の配列値を保持する

PHP で多次元配列を操作する場合、元の配列値を変更するのは困難な場合がありますforeach ループを使用して配列を反復処理する際に、配列を取得します。この質問では、この問題について詳しく掘り下げています。目標は、ネストされた配列内の値キーを変更することです。

指定された例では、$fields[$field]['value'] を使用して元の配列を変更しても、期待どおりに動作します。この問題は、PHP の foreach ループが配列の値を参照によって渡すために発生します (オブジェクトではありません)。これは、変数 $field を変更しても元の配列には影響しないことを意味します。

これを解決するには、ループ中に配列キーを使用することをお勧めします。回答で提供されている更新されたコードは、次のことを示しています。

foreach ($fields as $key => $field) {
    if ($field['required'] &amp;&amp; strlen($_POST[$field['name']]) <= 0) {
        $fields[$key]['value'] = "Some error";
    }
}
ログイン後にコピー

このコードでは、$key は現在の配列要素のキーを表します。 $fields[$key] を使用することで、元の配列にアクセスし、正しい値を変更します。これにより、ループ内で行われた変更が checkForm 関数によって返される元の配列に確実に反映されます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート