PHP 支持 10 種原始數據類(lèi)型。
四種標量類(lèi)型:
四種復合類(lèi)型:
最后是兩種特殊類(lèi)型:
可能還會(huì )讀到一些關(guān)于“雙精度(double)”類(lèi)型的參考。實(shí)際上 double 和 float 是相同的,由于一些歷史的原因,這兩個(gè)名稱(chēng)同時(shí)存在。
變量的類(lèi)型通常不是由程序員設定的,確切地說(shuō),是由 PHP 根據該變量使用的上下文在運行時(shí)決定的。
注意: 如果想查看某個(gè)表達式的值和類(lèi)型,用 var_dump() 函數。
如果只是想得到一個(gè)易讀懂的類(lèi)型的表達方式用于調試,用 gettype() 函數。要檢驗某個(gè)類(lèi)型,不要用 gettype(),而用
is_type
函數。以下是一些范例:<?php
$a_bool = TRUE; // 布爾值 boolean
$a_str = "foo"; // 字符串 string
$a_str2 = 'foo'; // 字符串 string
$an_int = 12; // 整型 integer
echo gettype($a_bool); // 輸出: boolean
echo gettype($a_str); // 輸出: string
// 如果是整型,就加上 4
if (is_int($an_int)) {
$an_int += 4;
}
// 如果 $bool 是字符串,就打印出來(lái)
// (啥也沒(méi)打印出來(lái))
if (is_string($a_bool)) {
echo "String: $a_bool";
}
?>
如果要將一個(gè)變量強制轉換為某類(lèi)型,可以對其使用強制轉換或者 settype() 函數。
注意變量根據其當時(shí)的類(lèi)型在特定場(chǎng)合下會(huì )表現出不同的值。更多信息見(jiàn)類(lèi)型轉換的判別。此外,還可以參考 PHP 類(lèi)型比較表看不同類(lèi)型相互比較的例子。