只需考虑一下......
<?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'的值?
答案 0 :(得分:2)
要防止将-
视为减号运算符,并尝试从属性b
中减去名为$phoo->a
的常量值,您需要执行
echo $phoo->{'a-b'};
答案 1 :(得分:0)
这是因为连字符,暗示substraction
。
尝试
$photo->{'a-b'}