2017-07-20 41 views
0
<?php 
    $val = $_GET["val"]; 
    $url = "http://feeds.bbci.co.uk/news/rss.xml"; 
    $xml = simplexml_load_file($url); 

    for($i = 0; $i < 10 ; $i++){  
     $title = $xml->channel->item[$i]->title; 
     $link = $xml->channel->item[$i]->link; 
     $description = $xml->channel->item[$i]->description; 
     $pubDate = $xml->channel->item[$i]->pubDate; 
     $rss .= "<a href='$link'><h3>$title</h3></a>"; 
     $rss .= "$description"; 
     $rss .= "<br />$pubDate<hr />"; 
    } 
    echo $rss; 
?> 

大家好!我在這裏遇到問題。我想列出rss鏈接的所有結果,但它只有10個。我知道我有「for循環」的第二個條件爲$ i < 10,但是我怎樣才能刪除該條件,並獲得所有結果從rss鏈接?For Loop沒有第二種情況

+4

使用'$ xml-> channel-> item'上的'foreach'。 –

+1

'count($ xml-> channel-> item)' –

+0

如果你想循環每個項目而不是10個,那麼得到你想循環的項目的數量/數量,並把它放在10 ... – Ivar

回答

4

使用foreach而不是for

<?php 
$url = "http://feeds.bbci.co.uk/news/rss.xml"; 
$xml = simplexml_load_file($url); 
$rss = ''; 

foreach ($xml->channel->item as $item) { 

    $title = $item->title; 
    $link = $item->link; 
    $description = $item->description; 
    $pubDate = $item->pubDate; 

    $rss .= "<a href='$link'><h3>$title</h3></a>"; 
    $rss .= "$description"; 
    $rss .= "<br />$pubDate<hr />"; 
} 
echo $rss; 
?> 
1

要麼你可以使用foreach循環或計數的數組的大小,然後用這個尺寸來設置第二個條件中的for循環..