寫PHP常常會用 empty 或 isset 等函式去判斷某些變數是否存在,這類函式很類似,但實際上有些許的不同,在PHP官網上特別針對類似功能的函式,整理出一張表,讓使用者可以更清楚的知道差異在哪…
| Expression | gettype() | empty() | is_null() | isset() | boolean : if($x) |
|---|---|---|---|---|---|
| $x = “"; | string | TRUE | FALSE | TRUE | FALSE |
| $x = null; | NULL | TRUE | TRUE | FALSE | FALSE |
| var $x; | NULL | TRUE | TRUE | FALSE | FALSE |
| $x is undefined | 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 = “1″; | string | FALSE | FALSE | TRUE | TRUE |
| $x = “0″; | string | TRUE | FALSE | TRUE | FALSE |
| $x = “-1″; | string | FALSE | FALSE | TRUE | TRUE |
| $x = “php"; | string | FALSE | FALSE | TRUE | TRUE |
| $x = “true"; | string | FALSE | FALSE | TRUE | TRUE |
| $x = “false"; | string | FALSE | FALSE | TRUE | TRUE |