首頁 >後端開發 >php教程 >如何在 PHP Foreach 迴圈中修改數組值:參考還是關鍵?

如何在 PHP Foreach 迴圈中修改數組值:參考還是關鍵?

Linda Hamilton
Linda Hamilton原創
2024-12-12 17:29:10134瀏覽

How to Modify Array Values in a PHP Foreach Loop: Reference or Key?

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

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