简单地考虑一下...
<?php
$phoo = json_decode( '{ "a-b": 2 }');
// causes "PHP Fatal error: Cannot use object of type stdClass as array";
echo $phoo['a-b'];
// causes PHP Notice: Use of undefined constant b - assumed 'b'
echo $phoo->a-b;
除了使用 get_object_vars() 或 (array) 之类的东西来转换它之外,还有没有办法访问"a-b"的值?
为了防止-
被视为减号运算符,并尝试从属性$phoo->a
中减去名为 b
的常量值,您需要这样做
echo $phoo->{'a-b'};
这是因为连字符,这意味着substraction
.
尝试
$photo->{'a-b'}