PHP 支持 10 種原始數(shù)據(jù)類型。
四種標量類型:
四種復合類型:
最后是兩種特殊類型:
可能還會讀到一些關(guān)于“雙精度(double)”類型的參考。實際上 double 和 float 是相同的,由于一些歷史的原因,這兩個名稱同時存在。
變量的類型通常不是由程序員設(shè)定的,確切地說,是由 PHP 根據(jù)該變量使用的上下文在運行時決定的。
注意: 如果想查看某個表達式的值和類型,用 var_dump() 函數(shù)。
如果只是想得到一個易讀懂的類型的表達方式用于調(diào)試,用 gettype() 函數(shù)。要檢驗某個類型,不要用 gettype(),而用
is_type
函數(shù)。以下是一些范例:<?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 是字符串,就打印出來
// (啥也沒打印出來)
if (is_string($a_bool)) {
echo "String: $a_bool";
}
?>
如果要將一個變量強制轉(zhuǎn)換為某類型,可以對其使用強制轉(zhuǎn)換或者 settype() 函數(shù)。
注意變量根據(jù)其當時的類型在特定場合下會表現(xiàn)出不同的值。更多信息見類型轉(zhuǎn)換的判別。此外,還可以參考 PHP 類型比較表看不同類型相互比較的例子。