PHP的數據類型
1、分類
三大類八小類
1、標量(scalar)數據類型
int 整型
float 浮點類型
Boolean 布爾型
string 字符串
2、複合數據類型
array 數組
object 對象
3.特殊數據類型
null null
resource資源類型
2、數據類型詳解之整數(int)類型
線性的整數
1、十進制
$v=225
2、八進制
以0開頭,並且不能超過7的數字
3、16進制
以0x開頭,包含0-9,a-f
其他進制在顯示時都會自動轉換十進制
3、數據類型詳解之浮點(float)類型
帶有小數點的數
兩種表示方式
不要隨意比較兩個小數的大小
4、數據類型詳解之字符串(string)類型
字符串就是使用單引號或雙引號括起來的0個或多個字符。
1、使用單引號定義的字符串
能夠被轉義的字符有 \\,\'
單引號定義的字符串中的變量不能解析其值
2、使用雙引號定義的字符串
能夠被轉義的字符有 \\,\",\t,\r,\n,\$
雙引號定義的字符串中的變量的值可以被解析
3、heredoc
也是用於定義字符串,主要應用場合是定義大段的字符串
語法:
$heredoc=<<<開始標記
大段文本
轉義符:\
用於將程序語言所賦予的某些字符的特殊功能轉義掉
輸出不可見的字符
轉義符能夠轉移的字符:
5、數據類型詳解之布爾(Boolean)類型
true 成立
false 不成立
6、數據類型詳解之數組(array)類型
1、索引數組
數組元素的下標是數值
2、關聯數組
數組元素的下標是字符串
注意:如果在一個字符串中想輸出數組的元素,那麼下標不需要加引號
如果使用{}來限制了數組,那麼下標必須加引號
7、數據類型詳解之null類型
null類型只有一個值,null
8、數據類型詳解之資源類型
resource類型
資源數據類型也是一個特殊的變量,程序員沒辦法直接定義一個資源,必須使用PHP提供的獲取資源函數
數據類型的轉換
數據就是用於運算,當參與運算的兩個數據,類型不同時,PHP會自動轉換。
又是我們也會強制轉換
1、自動轉換
$v1=100; $vi='100元'; echo $vi*$v1;
運行結果:10000
解析:參與運算的兩個操作數$v1和$vi數據類型不同,但根據 * 運算符,將$vi轉換成數值
2、強制轉換
(integer)變量 將其他數據類型強制轉換爲整型
(float)變量 將其他數據類型強制轉換爲浮點型
(array)變量 將其他數據類型強制轉換爲數組
(object)變量 將其他數據類型強制轉換爲對象
(string)變量 將其他數據類型強制轉換爲字符串
(boolean)變量 將其他數據類型強制轉換爲布爾值
$v1=100; $v2=0; $v3=''; $v4='0'; $v5=[]; $v6=null; $v7=0.0; $result1=(boolean)$v1; //true $result2=(boolean)$v2; //false $result3=(boolean)$v3; //false $result4=(boolean)$v4; //false $result5=(boolean)$v5; //false $result6=(boolean)$v6; //false $result7=(boolean)$v7; //false var_dump($result);
說明:0、0.0、字符空、字符0、空數組、null等等效於布爾false的值
數據及類型的判斷
判斷函數格式的規律:
is_int();
is_float();
is_string();
is_bool();
is_scalar(); 判斷變量的類型是否爲int、float、bool、string
is_array();
is_object();
is_null();
is_resouce();
isset(); 判斷變量是否有設置值(判斷變量的值是否爲null值)
empty(); 用於判斷變量的值是否爲”空“,等效於布爾false的值都被empty認爲是空。如果是空返回true