这是我的JSON文件:
{"message":"yes","info":{"ID":1,"Items":[{"Name":" Jim"},{"Name":" Bob"}]}}
使用下面的代码,我正在尝试读取JSON文件并回显Name
(应该是Jim和Bob)的每个值,但是我正在接受错误:
语法错误,意外'as'(T_AS),期待';'
<?php
$homepage = 'jsonfile';
$data = file_get_contents($homepage);
$users = $data['Items'];
for($users as $user) {
echo $user['Name'];
}
?>
答案 0 :(得分:2)
使用json_decode
解码json字符串,并使用foreach循环遍历数组。将所有名称放入$arr
数组,最后使用implode
将其删除。
$json = '{"message":"yes","info":{"ID":1, "Items":[{"Name":" Jim"},{"Name":" Bob"}]}}';
$result = json_decode ($json);
$arr = array();
foreach($result->info->Items as $value){
$arr[] = $value->Name;
}
echo "<div>".implode("</div>, <div>", $arr)."</div>"; //Jim, Bob
答案 1 :(得分:1)
首先,正如评论中提到的那样,你必须将json解码为数组。
其次,您尝试使用for()
(see docs here)循环而不是foreach()
(see docs here)。
您的代码应该是这样的:
$data = json_decode('{"message":"yes","info":{"ID":1,"Items":[{"Name":" Jim"},{"Name":" Bob"}]}}', true);
$users = $data['info']['Items'];
foreach($users as $user) {
echo $user['Name'];
}