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

PHP の非破壊 Foreach ループ中に配列オブジェクトを変更するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-15 03:20:09
オリジナル
582 人が閲覧しました

How Can I Modify Array Objects During a Non-Destructive Foreach Loop in PHP?

変更されたオブジェクト値による非破壊的なループ反復

foreach ループを使用して配列を反復処理する場合、ループ内で処理されている現在のオブジェクト。これは 2 つの方法を使用して実現できます。

方法 1: 配列キーの保持を使用する

現在のオブジェクトのキーを保持するには、次の構文を使用します。

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

ここでは、キー ($key) が保存され、メインの $questions の対応する値を更新するために使用されます。 variable.

アプローチ 2: 参照割り当てを使用する

または、foreach ループ値に & を追加すると、$questions 変数が直接更新されます:

foreach($questions as &$question){
ログイン後にコピー

このアプローチでは、$questions 配列を更新したままにして、参照によって値を変更します。ただし、通常は最初のアプローチが推奨されます。

PHP ドキュメントのメモ:

PHP foreach ドキュメントによると:

ループ内で配列要素を直接変更するには、$value の前に & を付けます。その場合、値は参照によって割り当てられます。"

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

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