Php 已删除的每个项目不包含';我不能正确计数
我正在显示一个新闻提要,只想显示没有故事更新的项目。所以我在用!i设置以检查是否存在故事项,如果存在则隐藏该项 这非常有效,但现在我尝试在提要中显示3个结果,但我认为foreach中仍在计算故事项,因此当最后3个更新是故事项时,提要中不会显示任何内容 我已经读过这篇文章,看起来像我要做的,但我不明白他从哪里得到$elementkey变量,以及它的作用是什么Php 已删除的每个项目不包含';我不能正确计数,php,foreach,Php,Foreach,我正在显示一个新闻提要,只想显示没有故事更新的项目。所以我在用!i设置以检查是否存在故事项,如果存在则隐藏该项 这非常有效,但现在我尝试在提要中显示3个结果,但我认为foreach中仍在计算故事项,因此当最后3个更新是故事项时,提要中不会显示任何内容 我已经读过这篇文章,看起来像我要做的,但我不明白他从哪里得到$elementkey变量,以及它的作用是什么 如何从foreach中删除项目,并删除其计数,以便显示3个项目?这应该适用于您: (这里我刚刚添加了一个$count变量,我只在发布消息时增
如何从foreach中删除项目,并删除其计数,以便显示3个项目?这应该适用于您: (这里我刚刚添加了一个
$count
变量,我只在发布消息时增加该变量。在3之后,我中断了foreach)
-
请向我们展示您的代码,您尝试在drupal.module文件中实现一个函数中控制的3个poststats的限制,但也可以使用我刚才添加到questionand中的array_slice来实现。。为什么你认为它们不会被计算?。当最后3个项目没有故事时,它会显示3个结果,但当一个故事在foreach中时,只显示2个项目,或者没有项目display@Collins当然这是预期的行为。。您没有对$items
数组进行有条件的切片。。所以你要循环三个项目。。可能包含也可能不包含storyYes!完美的非常感谢你
<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>
<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>