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

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

DDD
發布: 2024-12-22 04:28:14
原創
874 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板