我使用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
}
}
答案 0 :(得分:1)
在PHP中,变量和类成员可以几乎任何,但是在PHP代码中 它们必须基本上以普通的ASCII字母字符或下划线开头(更具体地说[a-zA-Z_\x7f-\xff]
,但实际上没有人使用该范围内的所有字符。)
要访问使用$var
格式无法访问的变量,您必须使用变量:
$name = "1twøThré3";
$value = $$name;
这是"正常"使用变量变量的方法。另一种方法是将名称直接传递给变量标识符:
$value = ${"1twøThré3"}
这同样适用于对象成员:
$value = $obj->{"1twøThré3"};