问题:
是否可以编辑当前正在处理的对象一个foreach循环?
上下文:
您在数据库中有一个对象数组($questions)以及关联的答案。您正在尝试在循环迭代期间为每个问题对象获取这些答案。
解决方案:
您可以使用一个方法在 foreach 循环中修改当前对象以下方法之一:
Key赋值:
foreach($questions as $key => $question){ $questions[$key]['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); }
此方法保留数组键,允许您直接更新值。
参考赋值:
foreach($questions as &$question){ $question['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); }
在变量名之前添加与号(&)对对象的引用,可以在循环内直接修改。
推荐:
虽然引用赋值方法简洁,但键赋值通常建议使用这种方法,因为它可以确保多维数组中的可预测行为。
以上是我可以直接在 Foreach 循环中修改数组对象吗?的详细内容。更多信息请关注PHP中文网其他相关文章!