<?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链接?
答案 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循环中的第二个条件。