PHP(3):數據類型
- 2020 年 1 月 6 日
- 筆記
PHP(3):數據類型
一、 數據類型
數據類型是具有相同特性的一組數據的統稱。PHP早就提供了豐富的數據類型,PHP 5中又有更多補充。本節將介紹這些數據類型,可以分為3類:標量數據類型、複合數據類型和特殊數據類型。
1、 標量數據類型
標量數據類型只能包含單個的一項資訊,以下都屬於標量數據類型:布爾型、整型、浮點型和字元型。
2、 複合數據類型
複合數據類型允許將多個相同類型的項聚集起來,表示為一個實體。這包含數組(array)和對象(object)。
3、 特殊數據類型
特殊數據類型包括那些提供某種特殊用途的類型,因此無法歸入其他任何類別。這包含資源(resource)和空(null)數據類型。
二、 標量數據類型
1、 布爾型(boolean)
布爾數據類型以數學家喬治·布爾(1815—1864)的姓名命名,他被認為是資訊理論的創始人之一。布爾變數表示真實性,只支援兩個值:TRUE(真)或FALSE(假)。
當轉換為 boolean 時,以下值被認為是 FALSE:
● 布爾值 FALSE
● 整型值 0(零)
● 浮點型值 0.0(零)
● 空白字元串和字元串 "0"
● 沒有成員變數的數組
● 沒有單元的對象(僅適用於 PHP 4)
● 特殊類型 NULL(包括尚未設定的變數)
所有其它值都被認為是 TRUE(包括任何資源)。
2、 整型(integer)
整型值可以用十進位,十六進位或八進位符號指定,前面可以加上可選的符號(- 或者 +)。
如果用八進位符號,數字前必須加上 0(零),用十六進位符號數字前必須加上 0x。
整型數的字長和平台有關,通常最大值是大約二十億(32 位有符號)。PHP 不支援無符號整數。
如果給定的一個數超出了 integer 的範圍,將會被解釋為 float。同樣如果執行的運算結果超出了 integer 範圍,也會返回 float。
3、 浮點型(float或double)
浮點數(也叫浮點數,雙精度數或實數),其字長和平台相關,通常最大值是 1.8e308 並具有 14 位十進位數字的精度(64 位 IEEE 格式)。
4、 字元型(string)
對於內容較少的字元型數據必須括成英文單引號或雙引號之間。那麼也就意味著單引號或雙引號不能出現在字元數據之內,否則將會引起解析錯誤!如果內容中必須要出現單引號或雙引號的話,那麼就必須使用轉義符!
5、 轉義符
轉義符固名思義就是其意思已經發生改變了,在PHP中,轉義符共有以下幾個:
轉義符 |
含義 |
---|---|
」 |
雙引號 |
』 |
單引號 |
n |
換行符 |
r |
回車符 |
t |
Tab鍵 |
\ |
反斜線 |
$ |
美元符號 |
對於雙引號和單引號,我們格外來強調一下,如果是想在瀏覽器的效果中看到雙引號或單引號,那麼在PHP源程式碼中的雙引號或單引號既可以通過HTML實體來表示,也可以通過轉義符來表示(建議使用HTML實體);而如果是想在瀏覽器的源程式碼中得到雙引號或單引號,那麼只能通過轉義符來表示了!我們通過以下的案例來說明這個問題!
<?php
$msg1 = stripcslashes("He said:"I'm fine"");
$msg2 = "He said:"I' fine."";
echo("<p>{$msg1}</p>n");
echo("<p>{$msg2}</p>n");
?>
運行後的瀏覽器效果如下:

源程式碼如下:

經過源程式碼的對比,我們就發現為什麼瀏覽器的效果中雙引號或單引號用HTML實體來代表的原因了!
再來看看瀏覽器的源程式碼中的雙引號或單引號的處理案例吧!
PHP程式碼:
<?php
echo("<p align="left">吳華部落格–http://pangdou.blog.51cto.com</p>");
?>
瀏覽器效果:

源程式碼效果:

三、 複合數據類型
1、 數組(array)
將一系列類似的項聚集在一起,並以某種特定的方式進行排列和引用。數組雙具體的分為數字索引數組和關聯數組
2、 對象(object)
PHP支援的另一種複合數據類型是對象。對象是面向對象程式編程(Object Oriented Programming,OOP)的核心概念。
四、 特殊數據類型
1、資源(resource)
PHP通常用於與一些外部數據源交互,如資料庫、文件和網路流。通常,這種交互通過句柄(handle)完成,成功地連接資源時會對句柄命名。這些句柄將保持對資源的引用,直到通訊結束。這些句柄就屬於資源數據類型。
2、空值(null)
特殊的 NULL 值表示一個變數沒有值。
下列情況下一個變數被認為是 NULL:
· 被賦值為 NULL
· 尚未被賦值
· 被 unset()