【问题标题】:Return TRUE if counter is greater than 0?如果计数器大于 0,则返回 TRUE?
【发布时间】:2011-10-27 00:22:06
【问题描述】:

在 PHP 中,如果 $counter 大于 0,我会尝试返回 TRUE。在这种情况下使用三元运算符会起作用。这是原始代码:

if($counter>0){return TRUE;}else{return FALSE;}

我可以把它浓缩成

return $counter>0?TRUE:FALSE

谢谢

【问题讨论】:

    标签: php ternary-operator


    【解决方案1】:

    是的,您可以将其浓缩,但有时您也可以考虑:

    return is_int($counter) && $counter > 0;
    

    此表达式检查它是否大于零,此外还检查$counter 是否为整数。

    【讨论】:

      【解决方案2】:
      return ($counter > 0) ? TRUE : FALSE;
      

      如果你愿意,可以!

      【讨论】:

        【解决方案3】:

        你可以把它压缩成return $counter>0

        因为它本身就是一个布尔表达式。

        【讨论】:

        • 我知道 0 返回 FALSE,1+ 返回 TRUE,但是 0 !== FALSE 和 1 !== TRUE
        • 正确,但这是整数转换为布尔值。上面的表达式是一个直接的布尔表达式
        • 感谢您提供此信息。尽管有些人可能会发现它更容易阅读或理解,但看到将返回布尔值 anyways 的表达式明确添加了TRUEFALSE,这让我抓狂。喜欢if (1 == 1) { return TRUE; } else { return FALSE; }。完全没有必要。只需return 1 == 1;
        • 哦,我明白了,因为 $counter>0 正在被测试并输出为 TRUE 或 FALSE。谢谢!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-15
        • 2021-07-17
        • 2018-01-04
        • 1970-01-01
        • 2016-02-17
        • 2013-02-08
        • 2018-06-24
        相关资源
        最近更新 更多