PHP中,在判断变量是否为空的时候,总会纠结应该选用哪个函数,下面列取常用的多种情况,其中1/3经过我的验证,其它来自网络,验证后使用。。。
| 表达式 | gettype() | empty() | is_null() | isset() | if($x) Boolean | is_null |
|---|---|---|---|---|---|---|
| $x = ""; | string | TRUE | FALSE | TRUE | FALSE | false |
| $x = null; | NULL | TRUE | TRUE | FALSE | FALSE | true |
| var $x; | NULL | TRUE | TRUE | FALSE | FALSE | true |
| $x is undefined | NULL | TRUE | TRUE | FALSE | FALSE | true |
| $x = array(); | array | TRUE | FALSE | TRUE | FALSE | false |
| $x = false; | boolean | TRUE | FALSE | TRUE | FALSE | false |
| $x = true; | boolean | FALSE | FALSE | TRUE | TRUE | false |
| $x = 1; | integer | FALSE | FALSE | TRUE | TRUE | false |
| $x = 42; | integer | FALSE | FALSE | TRUE | TRUE | false |
| $x = 0; | integer | TRUE | FALSE | TRUE | FALSE | false |
| $x = -1; | integer | FALSE | FALSE | TRUE | TRUE | false |
| $x = "1"; | string | FALSE | FALSE | TRUE | TRUE | false |
| $x = "0"; | string | TRUE | FALSE | TRUE | FALSE | false |
| $x = "-1"; | string | FALSE | FALSE | TRUE | TRUE | false |
| $x = "php"; | string | FALSE | FALSE | TRUE | TRUE | false |
| $x = "true"; | string | FALSE | FALSE | TRUE | TRUE | false |
| $x = "false"; | string | FALSE | FALSE | TRUE | TRUE | false |