PHP-在foreach循环中修改当前对象
我想知道是否可以编辑foreach
循环中正在处理的当前对象
我正在处理一系列对象$questions
,我想遍历数据库中查找与该问题对象相关的答案。因此,对于每一个问题去获取答案对象,并更新当前$question
我的foreach
循环,这样我可以输出/别处过程。
foreach($questions as $question){ $question['answers'] = $answers_model->get_answers_by_question_id($question['question_id']);
}
回答:
有两种方法
foreach($questions as $key => $question){ $questions[$key]['answers'] = $answers_model->get_answers_by_question_id($question['question_id']);
}
这样可以保存密钥,因此您可以在主$questions
变量中再次对其进行更新
要么
foreach($questions as &$question){
添加&
会保持$questions
更新。但我想说,即使这样比较短,也建议使用第一个(请参阅Paystey的评论)
根据PHP foreach
文档:
为了能够直接在循环内修改数组元素,在$ value之前加&。在这种情况下,该值将通过引用分配。
以上是 PHP-在foreach循环中修改当前对象 的全部内容, 来源链接: utcz.com/qa/426607.html