ホームページ > バックエンド開発 > PHPチュートリアル > Foreach ループ内で配列オブジェクトを直接変更できますか?

Foreach ループ内で配列オブジェクトを直接変更できますか?

DDD
リリース: 2024-12-22 04:28:14
オリジナル
899 人が閲覧しました

Can I Modify Array Objects Directly Within a Foreach Loop?

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

質問:

内で処理されている現在のオブジェクトを編集することは可能ですか? foreachループ?

コンテキスト:

データベース内に、関連付けられた回答を含むオブジェクトの配列 ($questions) があります。ループ反復中に質問オブジェクトごとにこれらの回答を取得しようとしています。

解決策:

次のいずれかを使用して、foreach ループ内で現在のオブジェクトを変更できます。次のメソッドのいずれか:

  1. キー割り当て:

    foreach($questions as $key => $question){
        $questions[$key]['answers'] = $answers_model->get_answers_by_question_id($question['question_id']);
    }
    ログイン後にコピー

    このメソッドは配列キーを保持するため、値を直接更新できます。

  2. 参照割り当て:

    foreach($questions as &$question){
        $question['answers'] = $answers_model->get_answers_by_question_id($question['question_id']);
    }
    ログイン後にコピー

    変数名が渡す前にアンパサンド (&) を追加します。オブジェクトへの参照を使用して、ループ内で直接変更できるようにします。

推奨事項:

参照の割り当て方法は簡潔ですが、キーの割り当て方法は多次元配列での予測可能な動作が保証されるため、通常はこれをお勧めします。

以上がForeach ループ内で配列オブジェクトを直接変更できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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