PHP支持8種數據類型,還有一些僞類型。4種標量類型:布爾型(boolean)、整型(integer)、浮點型(float 或 double)、字符串(string)。2種複合類型:數組(array)、對象(object)。2種特殊類型:資源(resource)、NULL。3種
僞類型:混和(mixed)數字(number)回饋(callback)。
1.布爾型(boolean)
如下值被認爲是false
(1)布爾值false
(2)0(0.0)爲false,非0爲true
(3)空白字符串和字符串"0"
(4)沒有成員變量的數組
(5)沒有單元的對象(僅適用於PHP4)
(6)特殊類型NULL(包括還沒有設定的變量)
2.整型(integer)
(1)-2 147 483 648 <= 整型範圍 <=
2 147 483 647
(2)若是給定的一個數超出了integer範圍,將會被解釋爲float
3.浮點型(float 或 double)
(1)1.7E-38 <= 浮點型範圍 <=1.7E+38
(2)精確到小數點後15位
4.字符串(String)
(1)字符串使用單引號('')、雙引號("")、定界符(<<<)來定義。
(2)單引號字符串中出現的變量不會被變量的值替代,即PHP不會解析單引號的變量,而是將變量名原樣輸出。
(3)定義簡單字符串時,使用單引號效率會更高,由於PHP解析時不會花費一些處理字符轉義和解析變量上的開銷。所以,若是沒有特別需求,應使用單引號定義字符串。
(4)雙引號字符串最重要的一點是其中的變量名會被變量值替代,即解析雙引號中的包含變量。
(5)字符串定界的方法使用定界符語法("<<<")。應該在<<<以後提供一個標識符開始,而後是包含的字符串,最後是一樣地標識符結束字符串。
5.數組(Array)
(1)$array = array("a",1,false);
(2)$array = array("foo" => "bar",10 => true);
6.對象(Object)
(1)對象和數組都是複合數據類型,但對象是一種更高級的數據類型。一個對象類型的變量,是由一組屬性值和一組方法構成的,其中屬性代表對象的一種狀態,方法一般用來代表對象的功能。
7.資源類型(Resource)
(1)資源是一種特殊類型的變量,保存了到外部資源的一個引用。
(2)資源是經過專門的函數來創建和使用的。
(3)使用資源類型變量保存有爲打開文件、數據庫鏈接、圖形畫布區域等的特殊句柄。
(4)這些資源由程序員建立、使用和釋放,任何資源在不須要時都應該被及時釋放,若是程序員忘記了釋放資源,系統自動啓用垃圾回收機制,以免內存的消耗殆盡。
(5)資源文件若是建立成功,則返回資源引用付給變量,若是建立失敗,會返回布爾型false。
8.NULL類型
(1)特殊的NULL值標示一個變量沒有值,NULL類型惟一可能的值就是NULL。NULL不表示空格,也不表示0,也不是空字符串,而是表示一個變量的值爲空。
(2)NULL不區分大小寫。
(3)如下狀況的變量被認爲NULL
①將變量直接賦值爲NULL
②聲明的變量還沒有被賦值
③被unset()函數銷燬的變量
9.僞類型
(1)僞類型不是PHP語言中的基本數據類型,只是由於PHP是弱類型語言,因此在一些函數中,一個參數能夠接受多種類型的數據,還能夠接受別的函數做爲回調函數使用。爲了確保代碼的易讀性,在本書中介紹一些僞類型的使用。
(2)三種僞類型有
①mixed:說明一個參數能夠接受多種不一樣的(但並非全部的)類型。例如gettype()能夠接受全部的PHP類型,str_replace()能夠接受字符串和數組。
②number:說明一個參數能夠是integer 或 float。
③callback:有些諸如call_user_function()或usort()的函數接受用戶自定義函數做爲一個參數。callback函數不只能夠是一個簡單的函數,還能夠是一個對象的方法,包括靜態類的方法,一個PHP函數用函數名字符串來傳遞。能夠傳遞任何內置的或者用戶自定義的函數,除了array(),echo(),empty(),eval(),exit(),isset(),list(),print()和unset()。