PHP Comparison between double, triple equals with useful functions

Posted on Wednesday May 11, 2011 / by Eric Potvin

Here's a quick table that will help you to find out quickly how PHP compares and use is types.

Functions comparison:

expression gettype() empty() is_null() isset() boolean test: if($x)
$x = '' string TRUE FALSE TRUE FALSE
$x = NULL NULL TRUE TRUE FALSE FALSE
$x = array() array TRUE FALSE TRUE FALSE
$x = FALSE boolean TRUE FALSE TRUE FALSE
$x = TRUE boolean FALSE FALSE TRUE TRUE
$x = 1 integer FALSE FALSE TRUE TRUE
$x = 42; integer FALSE FALSE TRUE TRUE
$x = 0 integer TRUE FALSE TRUE FALSE
$x = -1 integer FALSE FALSE TRUE TRUE
$x = '90' string FALSE FALSE TRUE TRUE
$x = '1' string FALSE FALSE TRUE TRUE
$x = '0' string TRUE FALSE TRUE FALSE
$x = '-1' string FALSE FALSE TRUE TRUE
$x = 'awesome' string FALSE FALSE TRUE TRUE
$x = 'TRUE' string FALSE FALSE TRUE TRUE
$x = 'FALSE' string FALSE FALSE TRUE TRUE
$x is undefined NULL TRUE TRUE FALSE FALSE


Comparaison using ==

  TRUE FALSE 1 0 -1 '1' '0' '-1' NULL array() string
TRUE TRUE FALSE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE
FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE
1 TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
0 FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE
-1 TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE
'1' TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
'0' FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
'-1' TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE
NULL FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE
array() FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE
'string' TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE


Comparaison using ===

  TRUE FALSE 1 0 -1 '1' '0' '-1' NULL array() string
TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
1 FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
0 FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-1 FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
'1' FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
'0' FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
'-1' FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
NULL FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
array() FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
'string' FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE