簡介

PHP 支持 10 種原始數(shù)據(jù)類型。

四種標(biāo)量類型:

  • bool(布爾型)
  • int(整型)
  • float(浮點型,也稱作 double)
  • string(字符串)

四種復(fù)合類型:

  • array(數(shù)組)
  • object(對象)
  • callable(可調(diào)用)
  • iterable(可迭代)

最后是兩種特殊類型:

  • resource(資源)
  • NULL(無類型)

可能還會讀到一些關(guān)于“雙精度(double)”類型的參考。實際上 double 和 float 是相同的,由于一些歷史的原因,這兩個名稱同時存在。

變量的類型通常不是由程序員設(shè)定的,確切地說,是由 PHP 根據(jù)該變量使用的上下文在運(yùn)行時決定的。

注意: 如果想查看某個表達(dá)式的值和類型,用 var_dump() 函數(shù)。

如果只是想得到一個易讀懂的類型的表達(dá)方式用于調(diào)試,用 gettype() 函數(shù)。要檢驗?zāi)硞€類型,不要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";
}
?>

如果要將一個變量強(qiáng)制轉(zhuǎn)換為某類型,可以對其使用強(qiáng)制轉(zhuǎn)換或者 settype() 函數(shù)。

注意變量根據(jù)其當(dāng)時的類型在特定場合下會表現(xiàn)出不同的值。更多信息見類型轉(zhuǎn)換的判別。此外,還可以參考 PHP 類型比較表看不同類型相互比較的例子。