PHP:直接访问对象数组中的元素

时间:2010-08-02 15:44:40

标签: php

我正在尝试输出一组数据,因为我的LEFT OUTER JOIN每次匹配都有多行。

我正在使用正向前看,看看下一行是否与第一行的id相同。但是,数据库类的返回返回一个对象数组。

array(7) {
          [0]=> object(stdClass)#4 (8) {
                                      ["dom_id"]=>string(1) "3"
                                      ["domain"]=>string(11) "example.com"
                                      ["status"]=>string(7) "Invalid"
                                      ["expiry"]=>string(10) "2010-07-20"
                                      ["remaining"]=>string(6) "0 Days"
                                      ["rem_id"]=>NULL
                                      ["alert_type"]=>NULL
                                      ["contact"]=>NULL
  }
//etc

我收到以下错误Fatal error: Cannot use object of type stdClass as array

我的代码如下,

echo $domains[$k+1]->alert_type;

我知道我可以将新维度分配给变量并将其作为对象访问,但为了整洁,我宁愿直接访问它。

这可能吗? ..如果是的话,我该怎么做呢?

TA

2 个答案:

答案 0 :(得分:2)

要么

答案 1 :(得分:0)

假设$domains是您希望为数组的stdClass对象,您可以尝试使用variable variables

echo $domains->{$k+1}->alert_type;

但真正的问题是你有一堆stdClass个对象。您是将这些存储在会话中,然后稍后阅读,还是忽略了包含文件或其他内容......?