For Loop没有第二个条件

时间:2017-07-20 12:32:46

标签: php loops for-loop

<?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 loop”的第二个条件为$ i&lt; 10,但是如何删除该条件,并获得所有结果来自rss链接?

2 个答案:

答案 0 :(得分: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 :(得分:1)

您可以使用foreach循环或计算数组的大小,然后使用此大小设置for循环中的第二个条件。