你应该采取的JSON编码数据的结构一探究竟。这有助于实现干净迭代:
<?php
$input = <<<JSON
{
"student": [{
"name": "Alice",
"rno": "187654"
}]
}
JSON;
$data = json_decode($input);
$output = [];
array_walk($data->student, function($entry) use (&$output) {
$output[] = $entry->rno;
});
print_r($output);
的上述代码的输出明显是:
Array
(
[0] => 187654
)
输出格式已被选作阵列,由于JSON结构表明多个学生可以被包含。
如果你只在student
数组中的第一个条目的rno
财产直接兴趣的话,那么你可以直接访问它:
<?php
$input = <<<JSON
{
"student": [{
"name": "Alice",
"rno": "187654"
}]
}
JSON;
$data = json_decode($input);
var_dump($data->student[0]->rno);
该变种的输出显然是:
string(6) "187654"
你得到的错误是什么? –
[在PHP中访问JSON值]的可能重复(https://stackoverflow.com/questions/21956249/access-json-values-in-php) – mickmackusa