2010-09-28 41 views
1

IM從JSON響應故障解碼Twitter的地方趨勢JSON與有麻煩的PHP

$init = 'http://api.twitter.com/1/trends/1.json'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$init); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
$result = curl_exec($ch); 
curl_close($ch); 
$obj = json_decode($result); 
foreach ($obj->trends as $trend) { 
    print $trend->query; 
    print $trend->name; 
} 

回答

1

提取趨勢名稱和搜索查詢,如果你做print_r($obj)你會看到的趨勢是在一個子陣列

Array 
(
    [0] => stdClass Object 
     (
      [as_of] => 2010-09-28T01:32:13Z 
      [trends] => Array 
       (
        [0] => stdClass Object 
         (
          [query] => BlackBerry+PlayBook 
          [promoted_content] => 
          [url] => http://search.twitter.com/search?q=BlackBerry+PlayBook 
          [name] => BlackBerry PlayBook 
          [events] => 
         ) 
....... 

,所以你必須使用此:

... 
foreach ($obj[0]->trends as $trend) { 
    print $trend->query; 
    print $trend->name; 
} 
+0

非常感謝你:) – bsym 2010-09-28 01:36:48

+0

沒有upvote或答案? – Galen 2010-09-28 01:39:05

0

試試這個

<?php 
$init = 'http://api.twitter.com/1/trends/1.json'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$init); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
$result = curl_exec($ch); 
curl_close($ch); 
$obj = json_decode($result, true); 


foreach ($obj[0]['trends'] as $trend) { 
    print $trend['query']; 
    echo "<br>"; 
    print $trend['name']; 
    echo "<hr>"; 
} 

?>