Is this a piece of cake for you? Then check the
PHP Syntax Exam :-)
The PHP Documentation Group has now added the
Appendix K. PHP type comparison tables
to the official
PHP manual.
Empty() & Co, Special Values
| | gettype() | empty() | is_null() | isSet() | (bool) |
| $x = ""; | string | true | false | true | false |
| $x = null; | NULL | true | true | false | false |
| var $x; (not set) | NULL | true | true | false | false |
| $x = array(); | array | true | false | true | false |
| $x = false; | boolean | true | false | true | false |
| $x = 15; | integer | false | false | true | true |
| $x = 1; | integer | false | false | true | true |
| $x = 0; | integer | true | false | true | false |
| $x = -1; | integer | false | false | true | true |
| $x = "15"; | 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 = "foo"; | string | false | false | true | true |
| $x = "true"; | string | false | false | true | true |
| $x = "false"; | string | false | false | true | true |
Note: empty() and isSet() don't give a warning when the variable has not been defined before.