【发布时间】:2014-01-22 18:32:48
【问题描述】:
我有一个已解码的 JSON 对象,但我无法访问该元素,因为它会引发错误。
stdClass Object
(
[error] => InvalidRegistration
)
echo $device_response->error; // gives an error
我将如何访问属性?
下面是整个响应数组:
stdClass Object
(
[multicast_id] => 5.3301797222004E+18
[success] => 1
[failure] => 3
[canonical_ids] => 0
[results] => Array
(
[0] => stdClass Object
(
[message_id] => 0:1388910534147789%25796c83f9fd7ecd
)
[1] => stdClass Object
(
[error] => InvalidRegistration
)
[2] => stdClass Object
(
[error] => InvalidRegistration
)
[3] => stdClass Object
(
[error] => InvalidRegistration
)
)
)
以下是我的访问方式:
foreach ($responseBody->results as $device_response) {
echo $device_response->error;
}
【问题讨论】:
-
“给出错误”---什么错误? PS:对于调试
var_dump()比print_r()更方便 -
它会发出通知,我想检查是否有
error响应 -
@AdityaBhatt,什么通知?
-
@AdityaBhatt,所写的代码应该工作,因为
results是一个数组,并且您正在遍历它以寻找error值。你能告诉我们确切地发生了什么而不是产生正确的输出吗?您是否注意到了来自 PHP 的一个警告?如果是这样,您能否提供完整和准确的错误消息? -
使用 json_decode($retrievedresult, true);这将为您提供数组而不是对象,您可以轻松访问