【问题标题】:>!= PHP operator, how to write not equal to or greater than?>!= PHP 运算符,不等于或大于怎么写?
【发布时间】:2011-03-13 10:03:01
【问题描述】:

如何在 PHP 中编写不大于或等于?

>!=吗?

【问题讨论】:

  • 正如@John Rasch 指出的那样,@Sam 使用的是“或”,他的意思可能是“或”。 @Sam,如果这是您的意思,您可以使用连字符将问题编辑为“不大于或等于”吗?未来寻求此答案的人可能希望避免或/或之间的混淆。
  • 2010 年 7 月 8 日是星期五吗?因为这正是我的大脑在星期五下午对我所做的事情。

标签: php operator-keyword


【解决方案1】:

not greater than or equal to x 不是和less than x 一样吗?

【讨论】:

  • 我不会仅仅因为知道这个问题的答案而奖励你。
  • 令人难以置信的是,这个问题的答案会获得如此高的声誉。
  • 嗯,不完全是。 NaN 应该是无序的。
  • 我曾经反对基于问题难度的加权声誉,但这只是我见过的支持它的最伟大的例子:)
  • 不,“不大于或等于”与“小于”不同......例如NULL 或字符串“不大于或等于”1,但也不小于 1!
【解决方案2】:

哦,有趣。按复杂度递增的顺序:

  1. (a - b > 0)
  2. !(a >= b)
  3. !(a - b
  4. !((a > b) || (a==b))
  5. !(a - b
  6. !((a - b
  7. !(a - b

就我个人而言,我会将#8 留给真正惹恼我的人。 ;)

【讨论】:

  • 我只需要提一下#8 会在整数值(因为整数除法)和非整数值(舍入错误与相等性混淆)上中断。
  • @murgatroid 关于#8 的要点。 (+1)我必须记住在使用它时避免这个问题。也许在添加冗余操作以减慢进程时,在那些已知用户是邪恶的情况下。
  • @Rab 不是 sleep(1) 更好吗?
  • @luiscubal 嗯,是的,但这太像使用“
  • 你成就了我的一天 xD
【解决方案3】:

最好的写法是

$x = 4;
$y = 6;

if($x < $y) echo "True";

// True

$x = 4;
$y = 6;

if(!($x >= $y)) echo "True";

// True

【讨论】:

  • 也许这个问题适合打代码保龄球? (代码越多——分数越高——就是赢家)
  • @Jeff Fohl:天哪,不!我们可能会得到一个分布式的、并行的、支持 XML 的、协同的主动网络架构(它以某种方式涉及一张木桌,其唯一目的是确定 x
  • @Jeff Fohl:这是否意味着如果我的代码不小于或等于你的代码,你就赢了?
  • 数学归纳的新定义 - 如果 4 和 6 成立,那么所有整数都成立;)
  • 相对于原始问题 (&gt;!=),这是否也会为 NaN 提供更好的结果
【解决方案4】:

“不大于或等于”等同于“严格小于”,您写为&lt;

如果你真的想说“不大于或等于”,你可以写!(a &gt;= b)

【讨论】:

  • less thanstrictly less than有什么区别?
  • 这被证明是有用的,因为在我的数据库中有返回值为null 的情况。允许我分配一个默认值:if(!($x &gt; 0)) {$x=40;}
【解决方案5】:
<

(小于等于不大于等于)

【讨论】:

    【解决方案6】:

    从技术上讲,您问了两个不同的问题 - 如何编写 A not greater than B or A equal to BA not equal to B or A greater than B

    声明A not greater than B or A equal to B 暗示:

    !(A > B) || A == B
    

    这是一个重言式:

    A <= B
    

    A not equal to B or A greater than B 暗示:

    A != B || A > B
    

    这是一个重言式:

    A >= B
    

    A &lt; B的其他答案代表A not greater than nor A equal to B的说法。

    【讨论】:

      【解决方案7】:

      只需使用&lt; ?

      【讨论】:

        【解决方案8】:

        向不信者证明小于等于不大于或等于:

        <?
        $i = acos(4);
        print $i."\n";
        print is_nan($i)."\n";
        if (4>=$i) {
            print "ge\n";
        } else {
            print "nge\n";
        }
        if (4<$i) {
            print "lt\n";
        } else {
            print "nlt\n";
        }
        ?>
        

        它在我的系统上输出:

        $ php5 nan.php 
        NAN
        1
        ge
        lt
        

        【讨论】:

          【解决方案9】:

          a 不大于或等于b 等价于b &lt; a

          【讨论】:

            【解决方案10】:

            看看这个页面:http://www.php.net/manual/en/language.operators.logical.php

            它展示了有关运算符的有趣内容以及如何使用它们...我已经突出显示了这个特定的逻辑运算符页面,因为当您使用它们的相似之处时,特别是它们具有不同的行为,例如“||”和“或”。

            值得一看=)

            【讨论】:

              【解决方案11】:

              按你说的方式做

              !> 或

              【讨论】:

              • 根据最常见的意思,这将失败,因为更大的值将通过第二次测试,因为它是一个或,因此会通过。 not greater than or equal 通常表示 not greater than AND not equal,而不是 not greater than OR not equal。但确实,它在技术上的措辞是模棱两可的。我想大多数人都会接受第一个含义。
              【解决方案12】:

              一些简单的例子:

              <?php 
              
              #not lower than 5 AND not greater than 12 
              
              if(!($nr<5)&&!($nr>12)){ }
              
              ?>
              

              【讨论】:

                【解决方案13】:

                假设您要测试 A 不等于或大于 B;

                假设:

                A = 10;
                
                B = 20;
                

                对于正常比较,代码如下所示:

                if(A >= B)
                {
                   return "A and B are equal";
                }
                else {
                   return "A and B are not equal";
                }
                

                如果上面的代码是用给定的值执行的,那么我们会期望语句A and B are not equal as 10 不大于或等于 20。

                现在要测试反向或the negated version of A &gt;= B,我们只需在表达式中添加NOT symbol (!) 即可实现它。

                if(!(A >= B))
                {
                   return "A and B are not equal";
                }
                else {
                   return "A and be are equal";
                }
                

                运行上述代码的预期响应 buy 是语句 A and B are not equal 将被返回。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-03-31
                  • 2019-02-11
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-09-17
                  相关资源
                  最近更新 更多