PHP中變數的類型多種多樣,不同的類型有不同的判斷方式,在這裡總結了一些PHP中變數類型的判斷。
一、gettype()
gettype 會根據 參數類型返回下列值
“boolean”(從 PHP 4 起)
“integer”
“double”(如果是 float 則返回“double”,而不是“float”)
“string”
“array”
“object”
“resource”(從 PHP 4 起)
“NULL”(從 PHP 4 起)
“unknown type”
例如:
gettype('1');返回的是string
而gettype(1);返回的是integer
二、php內建的類型判斷如下
isset(): //變數是否已經聲明empty(): //變數是否為空白defined(): //常量是否已經定義 define()array_key_exists(mixed key, array search): //檢查給定的鍵名或索引是否存在於數組中is_numeric ( mixed var ): //檢測變數是 否為數字或數字字串is_bool(): // 檢測變數是否是布爾型is_float(): // 檢測變數是否是浮點型 和is_double,is_real()都一樣的用法is_int(): // 檢測變數是否是整數is_integer() 一樣的 用法is_string(): // 檢測變數是否是字串is_object(): // 檢測變數是否是一個對象is_array(): // 檢測變數是否是數組is_null(): // 檢測變數是否為 NULL 值是否是NULL大小寫敏感
三、PHP empty、isset、isnull的區別
empty
如果 變數 是非空或非零的值,則 empty() 返回 FALSE。換句話說,”"、0、”0″、NULL、FALSE、array()、var $var、未定義;以及沒有任何屬性的對象都將被認為是空的,如果 var 為空白,則返回 TRUE。
isset
如果 變數 存在(非NULL)則返回 TRUE,否則返回 FALSE(包括未定義)。變數值設定為:null,返回也是false;unset一個變數後,變數被取消了。注意,isset對於NULL值變數,特殊處理。
is_null
檢測傳入值【值,變數,運算式】是否是null,只有一個變數定義了,且它的值是null,它才返回TRUE . 其它都返回 FALSE 【未定義變數傳入後會出錯!】