0

私はサイドプロジェクトに取り組んでおり、そのコアでは、ループスルーできる配列に4つの正方形のjsonフィードを取得する必要があります。私のコードは以下のとおりで、次のエラーが発生します。

Warning: Invalid argument supplied for foreach() in /homepages/7/d346835943/htdocs/dealrub/results.php on line 56

これが私が正しく取得しているjsonフィードの例です:

$jsonurl = "http://api.foursquare.com/v2/venues/search?ll=".$lat.",".$lon."&limit=100";
$json = file_get_contents($jsonurl,0,null,null);
$json_output = json_encode($json, true);

foreach ( $json_output->response->groups[0]->items as $items )
{
     echo "{$items->name}\n";
}

私が間違っていることについての助けをいただければ幸いです。apiキーなしでjsonurlを残しましたが、jsonの結果が正常に返されます。

4

2 に答える 2

0

すでにjsonにある文字列でjson_encodeを使用しています。代わりにjson_decodeを試してください;)

于 2011-01-13T03:38:38.400 に答える
0
  1. を使用する必要がありますjson_decode
  2. $json_ouput空でないか確認してください。
  3. true2番目の引数として(正しいと仮定して)に渡しjson_decodeます。これは、連想配列を返すことを意味します。

    それを省略してください:

    $json_output = json_decode($json);
    

    itemsまたは配列としてアクセス:

    foreach ( $json_output['response']['groups'][0]['items'] as $items )
    
于 2011-01-13T03:39:35.923 に答える