標籤:等於 精度 轉義 目標 改變 第一個 傳回值 屬性 八進位
PHP的資料類型
php資料類型分為三大類,
標量類型:整型、浮點型、布爾型和字串型
複合類型:數組型和對象(object)
特殊類型:空類型和資源型 !資源型以後會講
整形(int)就是整數的數值。
有三種表現形式:十進位,八進位,十六進位。
浮點型(float)就是小數點
有兩種表現形式:小數形式:3.14 -0.756
指數形式:就是科學技術法 4.5e6=4.5x106 -5.9E-2=-5.9x10-2
!!!最好不要使用浮點數進行比較!因為浮點數會造成資料精度的丟失!
布爾型:只有兩個值,true、false !不區分大小寫
整型0:0
浮點0:0.0
字串0:‘0’
Null 字元串:‘’,注意‘ ’(裡面是空格)會當成true來處理
空類型:NULL
空數組:array()
上面這些都會得出false; !資源型和對象型在進行條件判斷的時候永遠為真
字串型:
PHP中有四種定義字串的方式,大家比較熟悉的就是使用單引號和雙引號來定義!
雙引號和單引號的區別;
單引號:
單引號不能解析其中的變數!
如果字串中又出現了單引號,需要對單引號進行轉義!逸出字元:\
雙引號:雙引號能解析其中的變數。
如果字串裡面出現了變數,最好使用變數定界符對變數進行包裹!變數定界符:{$string} !這裡的{}只是一種文法形式,不屬於字串的一部分
NULL類型:
把一個變數直接賦值為NULL
使用一個沒有定義或者被刪除(unset)掉的一個變數
強制返回一個沒有傳回值的函數的時候
上面都是會出現NULL類型。
recourse資源型:
PHP如果要使用外部資料,就是採用資源的方式來進行管理!
php是弱類型語言,隨時都在發生類型的轉換,類型轉換可以分兩種一個是自動轉換另一個是強制轉換
!!自由轉換和強制轉換都不會改變原來的資料類型。
自動轉換:字串類型自動轉換為數實值型別 !如果字串不是以數值部分開頭,在參與運算的時候當成0來處理
其他類型自動轉換為布爾型
整型0:0
浮點0:0.0
字串0:’0’
Null 字元串:’’
空類型:NULL
空數組:array()
上面的都會得出false
強制轉換:
文法:(目標類型)未經處理資料
(int)轉換為整數類型 (float)轉換為浮點數類型 (string)轉換為字串類型 (array)轉換為數群組類型 (bool)或(boolean)轉換為布爾類型
(object)轉換為物件類型
!!無法將一個資料強制轉換為null型和資源型;對於(array)是將後面的資料項目強制轉換為該數組的第一個元素;
!!但是,這種並不是增加數組元素的一種文法,因為先將原數組清空,再把後面的資料轉換為當前數組的第一個元素;
!!對於(object),其實就是將後面的資料轉換為該對象的一個屬性。
函數的原型
函數傳回值類型 函數名(參數1類型 參數1,參數2類型 參數2……)
!!任何一個函數,都要考慮它是否有傳回值以及該傳回值的類型,如果該函數沒有傳回值,就用void來表示!
!!如果函數參數的類型或者函數傳回值的類型有很多個,就用mixed來代替,意思就是混合類型,也叫作“偽類型”
gettype:
文法:stringtype(mixed $var)
返回一個資料項目(變數或常量或運算式)的類型!由於php一共有8種類型,一般認為它的傳回值有8種!
settype:
文法:bool settype(mixed&$var,string $type)
設定一個資料項目(變數或常量或運算式)的類型!
需要兩個參數:第一個需要轉換的資料項目;第二個是需要轉成什麼樣的類型
如果轉換成功,就返回true,如果轉換失敗,就返回false!
!!這裡的轉換是真的把原資料的值和類型都轉換了
isset:
文法:bool isset(mixed&$var,[mixed $…])
判斷一個變數是否存在!
存在就返回true,不存在就返回false!
另外,isset還可以用來判斷一個數組的某個元素是否存在!以及對象的屬性是否存在!
empty:
文法:bool empty(mixed $var)
判斷一個變數是否為空白,如果為空白就返回true,如果不為空白就返回false!
和isset的判斷類型相反,可以理解為isset得出的false就是empty的true。
is_type系列:
該系列函數的作用是判斷一個變數是否為函數所指定的類型,返回一個布爾值!這裡都是嚴格判斷,在判斷的時候不會進行類型的自動轉換!
is_int或is_integer
is_float或is_double double是雙精確度
is_numeric 判斷是否是一個數實值型別等於is_int + in_float!如果一個字串是一個數字字串(裡面全部為數字),也當成是一個數值型資料來處理!
is_bool
is_string
is_scalar scalar是標量的意思,等於is_int+is_bool+is_float+is_string
is_array
is_NULL
is_object
is_resource
PHP入門part2