PHP Comparison between double, triple equals with useful functions
Here's a quick table that will help you 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 |
Comparison 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 |
Comparison 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 |