簡介

PHP 支持 10 種原始數據類型。

四種標量類型:

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

四種復合類型:

  • array(數組)
  • object(對象)
  • callable(可調用)
  • iterable(可迭代)

最后是兩種特殊類型:

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

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

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

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

如果只是想得到一個易讀懂的類型的表達方式用于調試,用 gettype() 函數。要檢驗某個類型,不要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 是字符串,就打印出來
// (啥也沒打印出來)
if (is_string($a_bool)) {
    echo 
"String: $a_bool";
}
?>

如果要將一個變量強制轉換為某類型,可以對其使用強制轉換或者 settype() 函數。

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