【问题标题】:First X items in foreach loopforeach 循环中的前 X 个项目
【发布时间】:2015-02-17 15:45:37
【问题描述】:

这对许多人来说可能是一个愚蠢的问题,但我今天已经绞尽脑汁整理各种事情,想不出从哪里开始。提前抱歉。

我正在将 RSS 提要从 Wordpress 站点拉入另一个网页。这正在工作并显示所有帖子的列表。

我正在使用此代码(来自我发布的另一篇文章):

function getFeed($feed_url) {

$content = file_get_contents($feed_url);
$x = new SimpleXmlElement($content);

echo "<ul>";

foreach($x->channel->item as $entry) {
    echo "<li><a href='$entry->link' title='$entry->title'>" . $entry->title . "</a></li>";
}
echo "</ul>";
}
getFeed("http://your-wordpress-site/feed/");

不过,我只想显示前 8 个条目。

我是否需要使用除 foreach 循环之外的其他东西?

【问题讨论】:

    标签: php wordpress foreach rss


    【解决方案1】:

    您可以只保留一个计数器,然后在达到所需最大值时使用break 退出循环。

    $i = 0;
    foreach($x->channel->item as $entry) {
        echo "<li><a href='$entry->link' title='$entry->title'>" . $entry->title . "</a></li>";
        $i++;
        if ($i >= 8){
          break;
        }
    }
    

    【讨论】:

    • 完美。谢谢你。今天我的大脑无法到达那里...... :-)
    • @Steviehype 没问题 :) 如果这是您需要的,请接受答案。
    • 使用 $key 可能有点“干净”,因为您可以将其定义为循环中每个项目的索引。像这样:foreach($array as $key=&gt;$value) 然后为前 x 项做一个声明,例如:if($key &gt; 8) 声明..
    猜你喜欢
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 2021-11-25
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    相关资源
    最近更新 更多