我正在尝试输出一组数据,因为我的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
答案 0 :(得分:2)
要么
array
代替stdClass
或 (array)
或 ArrayAccess
的自定义类。答案 1 :(得分:0)
假设$domains
是您希望为数组的stdClass
对象,您可以尝试使用variable variables:
echo $domains->{$k+1}->alert_type;
但真正的问题是你有一堆stdClass
个对象。您是将这些存储在会话中,然后稍后阅读,还是忽略了包含文件或其他内容......?