我试图在 foreach 循环中获取子数组的值。
我查看了这个示例,因为它似乎与我的问题确实相关,但不幸的是我无法让它工作,我希望这里的人能找到我出错的地方。
我有一个名为 $booked 的数组,在该数组中我有一个子数组 $booked['30_booked']。在第二个数组中有多个值,例如标题、名称、地址等。
我的代码目前如下所示:
foreach($booked['30_booking'] as $new_var){
var_dump('</br>', $booked['30_booking']);
var_dump('</br>', $new_var);
var_dump($new_var['title'], $new_var->title, $booked['30_booking']->title); exit();
}
正如您在上面的 var_dump 语句中看到的那样,我已经输出了数据,以尝试使这些方法之一起作用。
不幸的是,$new_var 中的任何内容都没有提取标题,但是 $booked['30_booking']->title
我没有正确地将它放入 foreach 语句中吗?
感谢所有帮助 - 谢谢!
编辑:
主数组输出片段:
array(6) { ["30_booked"]=> object(stdClass)#21 (34) { ["id"]=> string(2) "30" ["title"]=> string(2) "Ms" ["firstname"]=> string(5) "FIRST NAME" ["surname"]=> string(9) "LAST NAME" ["address"]=> string(6) "- -- -" ["postcode"]=> string(7) "FAK E99" ["country"]=> string(14) "United Kingdom" ["phone"]=> string(11) "01221111111" ["alt_phone"]=> string(0) "" ["email"]=> string(25) "fake@fake.co.uk" ["notes"]=> string(8) "FAKE DEAL" } }
编辑2:
子数组 $booked['30_booking'] 片段:
object(stdClass)#21 (34) { ["id"]=> string(2) "30" ["title"]=> string(2) "Ms" ["firstname"]=> string(5) "FIRST NAME" ["surname"]=> string(9) "LAST NAME" ["address"]=> string(6) "- -- -" ["postcode"]=> string(7) "FAK E99" ["country"]=> string(14) "United Kingdom" ["phone"]=> string(11) "01221111111" ["alt_phone"]=> string(0) "" ["email"]=> string(25) "fake@fake.co.uk" ["notes"]=> string(8) "FAKE DEAL" }
编辑 3:
我的 $new_var 的 var_dump 本身正在带回 id 的值 - 但是当我尝试从子数组“title”中获取第二个值时,它不会返回任何内容。
最终修复:
多亏了 Kita,我意识到我正在返回一个 std 类对象而不是第二个数组,这是我第一次愚蠢地错过的东西。因此,我实际上无法在对象上进行 foreach 。
这导致我这篇文章将帮助我解决这个问题:
带有 stdClass 对象的 PHP foreach 数组
非常感谢您的帮助!!!