你應該採取的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