【发布时间】:2018-11-22 12:07:58
【问题描述】:
我正在学习一点 PHP。它应该打印 0,但是我收到一个错误:
注意:试图在...中获取非对象的属性
<?php
$json = '[{"assetref":"","qty":0,"raw":0}]';
$obj = json_decode($json);
print $obj->{'qty'}; // Result 0
?>
【问题讨论】:
-
解决方案 "$obj[0]->{'qty'};"
-
是的,
print_r($obj);来看看。为什么不只是$obj[0]->qty; -
@MiguelAngelCastillo 除了数组问题之外,复杂的语法
->{'qty'}对于像数量这样的属性名称不是必需的。->qty可以正常工作。如果 JSON 包含的标识符不是有效的 PHP 作为属性名称,您只需要使用方括号。 (例如“资产数量”。)