Does PHP negation check with `!` coprrespond to `!=` or to `!==`?

后端 未结 4 635
梦如初夏
梦如初夏 2021-01-27 18:34

In PHP, is

if(!$foo)

equivalent with

if($foo != true)

or with

if($foo !== true)
相关标签:
4条回答
  • 2021-01-27 19:01

    Note that,

    == OR != compares the values of variables for equality, type casting as necessary. === OR !== checks if the two variables are of the same type AND have the same value.

    This answer will give you better explanation of this concept: https://stackoverflow.com/a/80649/3067928

    0 讨论(0)
  • 2021-01-27 19:03
    if(!$foo)
    

    is the equivalent to

    if($foo != true)
    

    so

    $foo = null;
    if(!$foo){
     echo "asd";
    }
    

    will ouptut "asd"

    0 讨论(0)
  • 2021-01-27 19:15

    Its not the same

    != is No equal (Returns true if  is not equal)
    !== is Not identical  (Returns true if  is not equal , or they are not of the same type)
    
    0 讨论(0)
  • 2021-01-27 19:18

    $a != $b

    TRUE if $a is not equal to $b after type juggling.

    $a !== $b

    TRUE if $a is not equal to $b, or they are not of the same type.


    See type juggling in PHP for more info on type juggling.


    Sources : php.net

    0 讨论(0)
提交回复
热议问题