Not equal to != and !== in PHP Not equal to != and !== in PHP php php

Not equal to != and !== in PHP


== and != do not take into account the data type of the variables you compare. So these would all return true:

'0'   == 0false == 0NULL  == false

=== and !== do take into account the data type. That means comparing a string to a boolean will never be true because they're of different types for example. These will all return false:

'0'   === 0false === 0NULL  === false

You should compare data types for functions that return values that could possibly be of ambiguous truthy/falsy value. A well-known example is strpos():

// This returns 0 because F exists as the first character, but as my above example,// 0 could mean false, so using == or != would return an incorrect resultvar_dump(strpos('Foo', 'F') != false);  // bool(false)var_dump(strpos('Foo', 'F') !== false); // bool(true), it exists so false isn't returned


!== should match the value and data type

!= just match the value ignoring the data type

$num = '1';$num2 = 1;$num == $num2; // returns true    $num === $num2; // returns false because $num is a string and $num2 is an integer


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

Please Refer to http://php.net/manual/en/language.operators.comparison.php