首頁 >後端開發 >php教程 >我可以直接在 Foreach 迴圈中修改陣列物件嗎?

我可以直接在 Foreach 迴圈中修改陣列物件嗎?

DDD
DDD原創
2024-12-22 04:28:14899瀏覽

Can I Modify Array Objects Directly Within a Foreach Loop?

使用 Foreach 循環修改數組值

問題:

是否可以編輯目前正在處理的物件循環?

上下文:

您在資料庫中有一個物件數組($questions)以及關聯的答案。您正在嘗試在循環迭代期間為每個問題物件取得這些答案。

解:

您可以使用一個方法在 foreach循環中修改目前物件以下方法之一:

  1. Key賦值:

    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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn