迭代PHP中的对象数组

时间:2013-03-21 17:04:25

标签: php loops

for($i = 0; $i < count($prices); $i++){
error_log($prices[$i]->anObjectVariable);
}

foreach ($prices as $price){
error_log($price->anObjectVariable);
}

这些似乎都不起作用,这是我得到的错误:

PHP Notice:  Undefined property: price::$anObjectVariable

这是我用来准备对象和数组的代码。

class price {

    public $anObjectVariable;

}

$prices = array();
    $p = new price();
    $p->anObjectVariable = "PRINT ME IN ERROR LOG!";
    array_push($prices, $p);

2 个答案:

答案 0 :(得分:4)

我刚刚在本地进行了测试,如果您在使用之前将$ price定义为数组,则以下代码可以正常工作。

class price {

    public $anObjectVariable;

}

$prices = array();
$p = new price();
$p->anObjectVariable = "PRINT ME IN ERROR LOG!";
array_push($prices, $p);

for($i = 0; $i < count($prices); $i++){
    echo($prices[$i]->anObjectVariable);
}

您实际上是在测试上面显示的代码(即我上面发布的代码),还是您正在研究衍生产品?你能否确认上面这个确切的片段是否适合你?

答案 1 :(得分:2)

然后,如果它不是拼写错误

for ($i = 0; $i < count($prices); $i++) {
    error_log($prices[$i]->anObjectVariable);
}

应该有效