2010-04-09 72 views
0

誰能告訴我爲什麼這個代碼不工作:PHP計數RSS條目

$q = $_GET['q']; 

// Load and parse the XML document 

$rss = simplexml_load_file("http://search.twitter.com/search.atom?lang=en&q=$q&rpp=100&page=1"); 

$Count1 = 0; 

while(strtotime($rss->entry->published)>1270833600){ 

    foreach ($rss->entry as $item) { 

    $Count1++; 

    } 

} 

print "Total Record: ".$Count1; 
+0

請指定*不工作*。任何錯誤? – 2010-04-09 17:59:56

回答

3

我想你想做的事:

foreach($rss->entry as $item) { 
    if(strtotime($item->published) > 1270833600) { 
     $Count1++; 
    } 
} 

或者假設RSS feed中的條目正確下令:

$items = $rss->entry; 
$item = current($items); 
while(strtotime($item->published) > 1270833600){ 
    $Count1++; 
    $item = next($items); 
} 

我不知道的SimpleXMLElement內部的工作所以這就是爲什麼我給你的元素T的數組o之前有一個新的變量(可能是內部數組指針被複位,否則)。

+0

+1 - 我很確定他也是這麼想的。 while循環看起來是無限的,因爲它只是首先檢查第一條記錄,然後每次檢查最後一條記錄。 – zombat 2010-04-09 18:05:50