我有以下php文件,它应该循环通过json数组并打印必要的信息。但是我在浏览器中收到一个错误,我不知道它为什么显示。"(!)解析错误:语法错误,意外' foreach' (T_FOREACH)在第15行和第34行的C:\ wamp \ www \ bootstrap-dist \ jsonpost.php中。有人可以帮我解决这个问题。
<?php
$jArray ='{ "books":[{"id":"01",
"language": "Java",
"edition": "third",
"author": "Herbert Schildt"
},
{
"id":"07",
"language": "C++",
"edition": "second"
"author": "E.Balagurusamy"
}]
}'
foreach ($jArray as $obj) { // error in this line
$ProductName = $obj['edition'];
$ProductQuantity= $obj['language'];
echo $ProductName+" "+$ProductQuantity;
}
?>
答案 0 :(得分:3)
首先,语法错误是因为您忘记了JSON变量后面的分号。
...
"E.Balagurusamy"
}]
}'; // <-- there
并解析它;使用json_decode
。
$parsed = json_decode($jArray, true);
foreach ($parsed['books'] as $obj) {
// ...
编辑:, true
已添加json_decode
,而且您的JSON语法错误。
"edition": "second", /* NOTE THE COMMA HERE */
"author": "E.Balagurusamy"
编辑2:使用+
连接字符串会导致0.使用.
。
echo $ProductName." ".$ProductQuantity;