2011-01-22 67 views
0

任何人都可以发现问题与此PHP,没有出现在屏幕上:PHP JSON Twitter的趋势

<?php 
function get_data($url) 
{ 
$ch = curl_init(); 
$timeout = 5; 
curl_setopt($ch,CURLOPT_URL,$url); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); 
$data = curl_exec($ch); 
curl_close($ch); 
return $data; 
} 

$url='http://search.twitter.com/trends.json'; 
$obj = json_decode(get_data($url)); 
foreach ($obj as $item) { 
$trend = $item->name; 
$link = $item->url; 
echo "<a href='.$link.'>".$trend."</a>"; 
} 
?> 
+0

什么说的var_dump($ OBJ) – 2011-01-22 13:33:01

+0

Hmmmm,它说: “NULL” – benhowdle89 2011-01-22 13:34:11

回答

2

你不是在收集循环正常。使用:

foreach ($obj->trends as $item) { 

$obj是一个对象(只是一个stdClass)与trends属性是对象的数组与nameurl性质。这反映了JSON的,看起来像结构:

{ 
    "trends": [ 
     { 
      "name": "#yepthatsme", 
      "url": "http://search.twitter.com/search?q=%23yepthatsme" 
     }, 
     { 
      "name": "Miley Citrus", 
      "url": "http://search.twitter.com/search?q=Miley+Citrus" 
     }, 
     /* lots more */ 
     { 
      "name": "Keith Olbermann", 
      "url": "http://search.twitter.com/search?q=Keith+Olbermann" 
     } 
    ], 
    "as_of": "Sat, 22 Jan 2011 13:37:25 +0000" 
}