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