<ul>
<?php foreach (array_slice($items, 0, 3) as $item): ?>
<?php if (!isset($item->story)): ?> <!-- hide story updates -->
<li>
<?php if (isset($item->message)) echo $item->message; ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
我正在显示新闻Feed,只想显示没有故事更新的项目。所以我正在使用!isset检查是否存在故事项目,如果是,则隐藏该项目。
这很好用,但现在我试图在Feed中显示3个结果,但我认为故事项仍然在foreach中计算,所以当最后3个更新是故事项时,Feed中没有任何内容。
我看过this question,看起来就像我想要做的那样,但我不明白他从哪里得到了$ elementkey变量,它做了什么?
如何从foreach中删除该项目,并删除其计数,以便显示3个项目?
答案 0 :(得分:2)
这应该适合你:
(这里我刚刚添加了一个$count
变量,只有在消息发布后我才会增加。在3之后我打破了foreach)
<ul>
<?php $count = 0;
foreach ($items as $item): ?>
<?php if ($count >= 3) break; if (!isset($item->story)): ?> <!-- hide story updates -->
<li>
<?php if (isset($item->message)) {
echo $item->message;
$count++;
}
?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>