0

In PHP, is

if(!$foo)

equivalent with

if($foo != true)

or with

if($foo !== true)

or is it even something completly different of both?

Foo Bar
  • 1,509
  • 2
  • 20
  • 41

4 Answers4

4

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

Community
  • 1
  • 1
Ronak Patel
  • 5,083
  • 7
  • 44
  • 122
  • I'm not asking about the difference between `==` and `===` (or their negations), which I know. I'm asking about their relation to `!`. – Foo Bar Dec 05 '14 at 16:25
3
if(!$foo)

is the equivalent to

if($foo != true)

so

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

will ouptut "asd"

Alexis Peters
  • 1,461
  • 1
  • 8
  • 15
-1

$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

Jay S.
  • 1,238
  • 10
  • 28
  • I'm not asking about the difference between `==` and `===` (or their negations), which I know. I'm asking about their relation to `!`. – Foo Bar Dec 05 '14 at 16:27
-1

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)
Jelle Keizer
  • 723
  • 4
  • 9
  • I'm not asking about the difference between `==` and `===` (or their negations), which I know. I'm asking about their relation to `!`. – Foo Bar Dec 05 '14 at 16:28