首页 >后端开发 >php教程 >如何在 PHP Foreach 循环中修改数组值:参考还是关键?

如何在 PHP Foreach 循环中修改数组值:参考还是关键?

Linda Hamilton
Linda Hamilton原创
2024-12-12 17:29:10128浏览

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