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

3k Views Asked by At

In PHP, is

if(!$foo)

equivalent with

if($foo != true)

or with

if($foo !== true)

or is it even something completly different of both?

4

There are 4 best solutions below

0
On BEST ANSWER
if(!$foo)

is the equivalent to

if($foo != true)

so

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

will ouptut "asd"

1
On

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

1
On

$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

1
On

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)