循环一个对象

时间:2015-11-19 12:26:52

标签: php object foreach model

使用对象模型我可以输出单个项目数据,如下所示:

$order->items[0]->item_qty -- For item 1
$order->items[1]->item_qty -- For item 2

$order->items[0]->entry_id -- For item 1
$order->items[1]->entry_id -- For item 2

由于我不知道物体中有多少物品,我不能[0]或[1]。因此,我想以某种方式循环,但我不确定这将如何与foreach声明一起使用。

有人能告诉我这是怎么做到的吗?

修改

foreach ($order as $obj) {
   print_r($obj->items->item_qty);
}

给出以下错误:

消息:尝试获取非对象的属性

5 个答案:

答案 0 :(得分:2)

只需按照预期的方式使用foreach:

foreach($order->items as $item) {
    $item->item_qty;
    $item->entry_id;
}

答案 1 :(得分:1)

您只需使用foreach

即可
foreach ($objects as $obj) 
{
    foreach($obj as $item)
    {
        echo $item->item_qty;
        echo "<br>".$item->entry_id;
    }
}

    foreach($order->items as $item) {
    echo $item->item_qty;
    echo "<br>".$item->entry_id
 }

来源:How to loop through objects in php

答案 2 :(得分:1)

使用count();

前:

$size = count($order->items);
for ($i=0 ; $i<$size ; $i++) {
    $order->items[$i]->entry_id // For item 1
    $order->items[$i]->entry_id // For item 2
}

答案 3 :(得分:1)

items也是一个数组,因此您需要循环遍历

之类的项目
foreach($order->items as $item) {
    echo  $item->qty;
    echo  $item->entry_id;
 }

答案 4 :(得分:0)

试试这个

foreach( $order as $key => $item){    
  echo $item[$key]->item_qty;
  echo $item[$key]->entry_id;
}