如何在 PHP 的 for 循环中跳过迭代?

Posted

技术标签:

【中文标题】如何在 PHP 的 for 循环中跳过迭代?【英文标题】:How to skip iterations in a for loop in PHP? 【发布时间】:2011-04-05 13:50:59 【问题描述】:

我有一个选项列表(已预订座位),我想从中排除某些值(例如 3、4、8 和 19)。我构建列表的代码是:

<?php
for ($i=1; $i<=27; $i++)
  
    echo "<option value=$i>$i</option>";
  
?>

如何从列表中排除 3、4、8 和 19?

【问题讨论】:

我猜 -1 票是由于帖子的直率。我明白 andesign 的要求。 @MrVimes - 我也理解。其实这个问题很清楚,有一个代码sn-p。这使它在许多其他问题之上并肩作战。一般的措辞和标题可以改进,但这是一个很好的问题。 是的,很简单。但我不明白如何制作代码。谢谢 因为我前几天看到了你的问题并且知道你在这里做什么,所以我不得不说你以错误的方式解决这个问题。您应该使用一组开放席位,而不是按顺序显式循环一组席位。如果你有 30 个座位的新巴士怎么办?如果您必须通过一些特殊的票务字符串而不是号码来引用公交车怎么办? 【参考方案1】:

您可以使用continue 跳过循环的当前迭代。

$exclude = array(3, 4, 8, 19);

for ($i=1; $i<=27; $i++)

    if (in_array($i, $exclude)) continue;
    echo "<option value=$i>$i</option>";

Documentation.

【讨论】:

嘘。对于这样的原始语法知识+10。这真的是一个***的网站,没有什么专业的。 这个网站自称是“知识的终极来源”,但实际上它似乎更像是废话的终极来源。 @Col。弹片我不同意。我注册这个网站的了解比我知道的要少得多(看看我早期的一些问题)。大部分学习(大约 80%)是通过使用 Stack Overflow 完成的。 我同意@alex。加入SO后,我获得了很好的知识。这是一个很棒的网站。 你太棒了! @YCS 对于具有如此高声望的人,您对这个网站及其用户非常讨厌....

以上是关于如何在 PHP 的 for 循环中跳过迭代?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据某些条件在 MSSQL 游标中跳过一行(迭代)?

为啥 .setValue() 在 for 循环中跳过列?

如何从sql中跳过一行?

如何在循环中跳过项目

VBA - 如何有条件地跳过for循环迭代

基于查询结果集的PHP跳过for循环迭代