0

私は次のようにJSONから値を取得しています:

$adarray = json_decode($addata);
if($adarray->{'zone'} == 'homepage'){
    $chan = 'homepage';
}else if($adarray->{'subcat'} == 'main'){
    $chan = $adarray->{'cat'};
}else{
    $chan = $adarray->{'subcat'};
}
echo $chan;

それ以外の場合は完全に機能しますが、最初の部分で問題が発生しています。

このJSONデータがifステートメントに解析されると、「ホームページ」を返す必要がありますが、JSONデータを返すだけです。なぜですか?

{"zone":"homepage"}
4

2 に答える 2

1

phpテスターで同じコードを試し、正しい出力を取得しました。コードが正しいかどうかを確認します。

http://phptester.net/でこれを自分で試してください:

<?php
$adarray = json_decode('{"zone":"homepage"}');
if($adarray->{'zone'} == 'homepage'){
    $chan = 'homepage';
}else if($adarray->{'subcat'} == 'main'){
    $chan = $adarray->{'cat'};
}else{
    $chan = $adarray->{'subcat'};
}
echo $chan;
于 2012-06-15T17:26:55.390 に答える
0

このようにコードを変更してください

$adarray = json_decode($addata,true);

これで、配列に変換されます。また、アレイを簡単に管理したり、アレイから値やデータを取得したりできます

于 2012-06-15T17:26:22.420 に答える