php常見數據類型轉換與判斷

強制類型轉換問題:數組

(array) false   ====> array(0=>)函數

(array) true    ====> array(0=>1)測試

(array) null     ====>array( )對象

進行類型轉換的時候要注意文檔

 

1. null , 0 , false , array() , '' ,'0' 字符串


type:        NULL       (int) $var=0  intval($var) 0
type:     integer       (int) $var=0  intval($var) 0
type:     boolean       (int) $var=0  intval($var) 0
type:       array        (int) $var=0  intval($var) 0
type:      string        (int) $var=0  intval($var) 0

其餘類比較:

array(1,2) , 'hello12' , '12hello' ,'20120801017hello' , 0.99, 0.1

type:       array       (int) $var=1  intval($var) 1
type:      string       (int) $var=0  intval($var) 0
type:      string       (int) $var=12  intval($var) 12
type:      string       (int) $var=2147483647  intval($var) 2147483647   //邊界值
type:      double       (int) $var=0  intval($var) 0
type:      double       (int) $var=0  intval($var) 0

2. empty() , isset()

empty():

""、0、"0"、NULL、FALSE、array()、var $var; 以及沒有任何屬性的對象都將被認爲是空的

 "  " 非空,中間有空格

isset():

isset() 只能用於變量,由於傳遞任何其它參數都將形成解析錯誤。若想檢測常量是否已設置,可以使用defined函數。

若使用 isset() 測試一個被設置成 NULL 的變量,將返回 FALSEstring

 

 當轉換爲 boolean 時,如下值被認爲是 FALSE:

    布爾值 FALSE 自身
    整型值 0 (零)
    浮點型值 0.0 (零)
    空 字符串, 以及 字符串 "0"
    不包括任何元素的數組
    不包括任何成員變量的對象(僅PHP 4.0 適用)
    特殊類型 NULL (包括還沒有設定的變量)
    從沒有任何標記(tags)的XML文檔生成的SimpleXML 對象變量

相關文章
相關標籤/搜索