【发布时间】:2015-04-07 00:07:39
【问题描述】:
<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>
我正在显示新闻提要,并且只想显示没有故事更新的项目。所以我使用 !isset 检查故事项目是否存在,如果存在则隐藏该项目。
这很好用,但现在我试图在提要中显示 3 个结果,但我认为故事项目仍在 foreach 中计数,因此当最后 3 个更新是故事项目时,提要中没有任何显示。
我已经阅读了this question,这看起来像是我正在尝试做的事情,但我不明白他从哪里得到 $elementkey 变量,它是做什么的?
如何从 foreach 中删除项目,并删除其计数以便显示 3 个项目?
【问题讨论】:
-
请向我们展示您尝试实施 3 个帖子限制的代码
-
它在一个drupal .module 文件中的一个函数中控制,但同样可以使用我刚刚添加到问题中的array_slice 来完成
-
还有..你为什么认为它们不会被计算在内?..
-
当最后3个item没有story时显示3个结果,但是当一个story在foreach中时,只显示2个item,或者没有item显示
-
@Collins,当然......这是预期的行为......你不是有条件地切片
$items数组......所以你循环通过三个项目......可能包含也可能不包含故事