当前位置: 首页 > 面试题库 >

PHP-在foreach循环中修改当前对象

韩鸿
2023-03-14
问题内容

我想知道是否可以编辑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循环遍历: 另外,当我运行一个仅将数组吐出的测试时,这就是结果,我想要呈现的是 [费城] 问题答案: 您可以这样访问数组键:

  • 问题内容: 我第一次不了解PHP。我一直在脚本中使用for循环,while循环,foreach循环。我想知道 哪一个性能更好? 选择循环的标准是什么? 当我们在另一个循环中循环时应该使用哪个? 我一直想知道要使用哪个循环的代码。 很明显,我可以使用while编写上面的代码。希望有人能帮助我找出哪个循环更适合使用。 问题答案: 哪一个性能更好? 没关系 选择循环的标准是什么? 如果只需要遍历对象或数

  • 我使用的php foreach语句如下所示:

  • 问题内容: 我有这样的1,2,3产品ID 我该如何在for循环回显中使用此代码设置格式,请问还有其他方法吗 问题答案:

  • foreach循环遍历列表值并将控制变量(var)依次设置为列表的每个元素 - 语法 (Syntax) Perl编程语言中foreach循环的语法是 - foreach var (list) { ... } 流程图 (Flow Diagram) 例子 (Example) #!/usr/local/bin/perl @list = (2, 20, 30, 40, 50); # foreach lo