我已经使用JSON_decode将JSON输出存储为stdClass对象。
理想情况下,我想回显直方图对象的属性名称和值。
我试过
echo $obj->histogram->20000();
但它似乎认不出20000,因为这是一个数字。还试过"20000"。
JSON代码:
{
"location": {
"__CLASS__": "Adzuna::API::Response::Location",
"display_name": "Melbourne, Melbourne Region",
"area": [
"Australia",
"Victoria",
"Melbourne Region",
"Melbourne"
]
},
"__CLASS__": "Adzuna::API::Response::SalaryHistogram",
"histogram": {
"20000": 2,
"40000": 36,
"60000": 95,
"80000": 53,
"100000": 27,
"120000": 9,
"140000": 6
}
}
在PHP中,变量和类成员可以是任何东西,但在PHP代码中,它们基本上必须以普通ASCII字母字符或下划线开头(更具体地说是[a-zA-Z_'x7f-'xff]
,但实际上没有人使用该范围内的所有字符)。
要访问无法使用$var
格式访问的变量,必须使用变量:
$name = "1twøThré3";
$value = $$name;
这是使用变量的"正常"方式。另一种方法是将名称直接传递给变量标识符:
$value = ${"1twøThré3"}
这同样适用于对象成员:
$value = $obj->{"1twøThré3"};