寫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 |