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 に答える