删除的 foreach 项目不能正确计数
removed foreach item doesn't keep count correctly
<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 个项目?
这应该适合你:
(这里我刚刚添加了一个 $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>
<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 个项目?
这应该适合你:
(这里我刚刚添加了一个 $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>