&&和'和'在php中是一样的吗?

这个问题在这里已经有了答案:

  • 'AND'和'&&'作为操作符10的答案
  • PHP和/或关键字4的答案

  • 它们不具有相同的优先级。 完全括号,您的代码是:

    ($keyWord = 2) and (3>4); // $keyWord = 2
    $symbol = (2 && (3>4)); // $symbol = false
    

    2false显然是不一样的,因此'not-equal'

    更多关于运营商优先权


    那么,稍微改变一下代码就可以了:

    <?php
    $keyWord =  2 and 3>4;
    
    $symbol  =  2 &&  3>4;
    
    var_dump($keyWord);
    var_dump($symbol);
    ?>
    

    产生以下输出:

    int(2) bool(false)
    

    正如Kolink指出的那样,这是由于运营商的优先。


    这里是逻辑运算符的优先级(表的一部分)

    left    &&  logical
    left    ||  logical
    left    ? :     ternary
    right   = += -= *= /= .= %= &= |= ^= <<= >>= =>     assignment
    left    and
    

    在你的情况下:

    case 1:
    
    $keyWord =  2 and 3>4;
    
    ($keyWord =  2) and (3>4);
    

    这里$keyWord = 2

    case 2:
    
    $symbol  =  2 &&  3>4;
    
    $symbol  =  (2 && (3>4));
    

    这里$symbol = false

    解决方案$keyWord = (2 and (3>4));$symbol = 2 && (3>4); 使用括号

    参考:http://php.net/manual/en/language.operators.precedence.php

    链接地址: http://www.djcxy.com/p/57607.html

    上一篇: && and 'and' are the same in php?

    下一篇: Difference between && and and operator in PHP