0

这是我的问题

代码:

$response = json_decode($data);

$arr = (array) $response;

if(is_array($arr['reviews'])){

foreach($arr['reviews'] as $review){

if ($review->rating == "0") {echo "<div class="0stars"></div>\n";}

} 

当它到达这些if部分时,它会给我一个错误

Parse error: syntax error, unexpected '0' (T_LNUMBER), expecting ',' or ';' in /home....

我试过了:

$reviewstar = $review->rating;
if ($reviewstar == "0") {echo "<div class="0stars"></div>\n";}

和许多其他选择....

我怎样才能做到这一点?我需要再次排列吗?

谢谢!

4

2 回答 2

1

此行中的引号已损坏:

if ($review->rating == "0") {echo "<div class="0stars"></div>\n";}

将其更改为:

if ($review->rating == "0") {echo "<div class=\"0stars\"></div>\n";}
于 2013-09-19T20:40:33.500 回答
0

您正在尝试转换为数组,但随后在此处使用对象类型访问:

$review->rating

如果您想使用对象数组,请不要强制转换为数组(或按照建议强制 json_decode 中的数组。

最重要的是了解 JSON 字符串的结构以及解码为对象/数组时的行为方式。

此外,看起来您可能没有从第一条if语句中关闭大括号。

于 2013-09-19T20:31:06.977 回答