如我所料,带有 continue 的 php if 语句以相反的方式工作

Posted

技术标签:

【中文标题】如我所料,带有 continue 的 php if 语句以相反的方式工作【英文标题】:php if statement with continue works the other way around as I would expect 【发布时间】:2012-11-26 13:39:13 【问题描述】:

所以我有时间戳

    开始:1353441600 截止:1353736800(开始 开始:1353790800 截止:1353736800(开始 > 截止)

我有php声明:

if ($eventStarted < $todaysCutoff) continue;

我希望这个语句显示 1,但它显示 2。这是正确的,我不明白什么吗?现在对我来说就像休息一样。

<?php
if (tribe_is_day()) 
        $eventStarted = strtotime(tribe_get_start_date(null, false, 'Y-m-d H:i:s'));
        $eventEnded = strtotime(tribe_get_end_date(null, false, 'Y-m-d H:i:s'));
        $todaysCutoff = strtotime($current_url_date . ' 06:00:00');

            echo ' Start: ' . $eventStarted . ' Cutoff: ' . $todaysCutoff . ' End: ' . $eventEnded;

        if ($eventStarted < $todaysCutoff) continue;
 ?>

我很傻:)

【问题讨论】:

代码中有循环吗? Continue 用于跳过循环中的其余代码并在下一次迭代中继续。 @PaulS 是的,就是这样。那么继续,其实是skip? @SandroDzneladze:没有continue下一个,跳过是break @EliasVanOotegem 了解。没有更多问题了。 继续是跳过循环块的其余部分并继续下一次迭代。 Break 将跳过循环块的其余部分并跳出循环,即不继续循环。继续只有在循环中才有意义。 【参考方案1】:

continue 关键字在 for 或 while 等循环中使用。您的代码不包含循环,或者您“做错了(TM)”。 :)

http://php.net/manual/en/control-structures.continue.php

【讨论】:

是的,我有一个 while 循环。对于我的问题,这没有什么区别。我误解了继续,因为它似乎意味着跳过。

以上是关于如我所料,带有 continue 的 php if 语句以相反的方式工作的主要内容,如果未能解决你的问题,请参考以下文章

OptionalAttribute 参数的默认值?

正如我所料,Qt GUI 不适用于 std::thread

Laravel 集合计数结果

省选Round 1 - 总结

Lambda 函数作为基类

Scala:数组和类型擦除