DERP。 获取'致命错误:不能使用stdClass类型的对象作为数组'
我不知道我在这里做错了什么:
foreach ($json->result->items[$key]->attributes->attribute as $attrib => $val)
{
if($json->result->items[$key]->attributes->attribute[$attrib]->name == 'cannot_trade')
{
$notrade=1;
echo 'Item ' . $key . ' is not tradeable' . $br;
}
}
这是数据:
[attributes] => stdClass Object
(
[attribute] => Array
(
[0] => stdClass Object
(
[name] => custom employee number
[class] => set_employee_number
[value] => 0
)
[1] => stdClass Object
(
[name] => cannot trade
[class] => cannot_trade
[value] => 1
)
)
)
基本上,我正在尝试测试'attribute'数组是否具有cannot_trade东西。 有时,父对象没有“属性”对象
答案 0 :(得分:9)
如果需要,您可以将JSON解析为数组:
// These both give you an array:
$json = json_decode($whatever, true);
$json = (array) json_decode($whatever);
答案 1 :(得分:1)
你可以尝试
if($val->name == 'cannot_trade')
{
$notrade=1;
echo 'Item ' . $key . ' is not tradeable' . $br;
}
如果仍然无效,请尝试添加
var_dump($val);
在循环中,检查它真正包含的内容。