2

下面大致是我用来显示提要中的项目的内容。它工作正常,但提要有很多项目,我希望能够只显示提要中的前 5 个项目。这怎么办?

    <?php
    $theurl = 'http://www.theurl.com/feed.xml';


    $xml = simplexml_load_file($theurl);
    $result = $xml->xpath("/items/item");
    foreach ($result as $item) { 
    $date = $item->date;
    $title = $item->title;

    echo 'The title is '. $title.' and the date is '. $date .'';

    } ?>
4

3 回答 3

1
foreach ($result as $i => $item) { 
    if ($i == 5) {
        break;
    }
    echo 'The title is '.$item->title.' and the date is '. $item->date;
}
于 2013-04-21T21:08:50.963 回答
0

只需将其作为 XPath 查询的一部分:

<?php
$theurl = 'http://www.theurl.com/feed.xml';

$xml = simplexml_load_file($theurl);
$result = $xml->xpath('/items/item[position() <= 5]');
foreach ($result as $item) { 
    $date = $item->date;
    $title = $item->title;

    echo 'The title is '. $title.' and the date is '. $date . '';
}
?>

这是一个演示!

于 2013-04-21T23:04:55.870 回答
0

循环可能比循环更for适合于此foreach

for ($i=0; $i<=4; $i++) {
    echo 'The title is '.$result[$i]->title.' and the date is '. $result[$i]->date;
}

当不修改数组中的任何内容时,此循环具有更高的性能,因此如果速度很重要,我会推荐它。

于 2013-04-21T21:13:24.923 回答