在 Foreach 迴圈中修改陣列值
在 PHP 中,可以修改 foreach 迴圈中正在處理的目前物件。為此,有兩種主要方法:
使用帶有數組鍵的循環變數:
<?php foreach($questions as $key => $question){ $questions[$key]['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); } ?>
這裡,我們使用表示數組索引的循環變數( $key)。透過明確更新對應索引($key)處的 $questions 數組,我們有效地修改了原始物件。
使用引用:
<?php foreach($questions as &$question){ $question['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); } ?>
在此在這種情況下,我們在循環變數($question) 之前加上一個與號(&),它傳遞對物件的參考。透過引用修改對象,我們直接更新原始 $questions 陣列中的物件。
推薦哪一種方法?
雖然這兩種方法都有效,但使用通常首選帶有數組鍵的循環變數。這是因為它明確更新原始數組,從而更容易追蹤修改以進行調試或進一步處理。
以上是如何在 PHP Foreach 迴圈中修改數組值:參考還是關鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!