Php 注意:尝试在中获取非对象的属性

Php 注意:尝试在中获取非对象的属性,php,arrays,json,Php,Arrays,Json,我正在学习一点PHP。它应该打印0,但是我得到一个错误: 注意:正在尝试获取 JSON字符串外部的括号使其成为数组中的对象 通过使用$obj[0]->{'qty'}指定所需的数组成员,可以访问该对象 或者更改json字符串,使其直接实例化为对象 $json = '{"assetref":"","qty":0,"raw":0}'; 解决方案“$obj[0]->{'qty'};”是,打印($obj)以查看。为什么不仅仅是$obj[0]>数量@miguelcastillo除了数组问题之外,像qty这

我正在学习一点PHP。它应该打印0,但是我得到一个错误:

注意:正在尝试获取


JSON字符串外部的括号使其成为数组中的对象

通过使用
$obj[0]->{'qty'}指定所需的数组成员,可以访问该对象

或者更改json字符串,使其直接实例化为对象

$json = '{"assetref":"","qty":0,"raw":0}';

解决方案“$obj[0]->{'qty'};”是,
打印($obj)以查看。为什么不仅仅是
$obj[0]>数量
@miguelcastillo除了数组问题之外,像qty这样的属性名不需要复杂的语法
->{'qty'}
<代码>->qty
可以正常工作。如果JSON包含的标识符不是有效的PHP属性名,则只需要使用括号。(比如“资产数量”)@abracadver因为复制/粘贴,我想。当我编辑代码格式化时,我没有改变它,因为它看起来像是一个越界,而且它仍然有效,即使在这种情况下它是毫无意义的。
$json = '{"assetref":"","qty":0,"raw":0}';