PHP 中的每個表達式根據其值都具有以下內建類型之一
PHP 是一種動態類型語言,這表示預設情況下無需指定變數的類型,因為這將在執行時確定。但是,可以透過使用類型宣告來靜態指定語言的某些方面。PHP 類型系統支援的不同類型可以在類型系統頁面找到。
類型會限制可在其上執行的操作種類。然而,如果一個表達式/變數被用在它的類型不支持的操作中,PHP 會嘗試將該值類型轉換為支持該操作的類型。這個過程取決於使用該值的上下文。更多資訊,請參閱類型轉換章節。
類型比較表也可能很有用,因為其中提供了不同類型值之間比較的各種範例。
注意: 可以通過使用類型轉換來強制將表達式評估為特定類型。也可以通過對變數使用settype()函式來就地進行類型轉換。
要檢查表達式的值和類型,請使用var_dump()函式。要取得表達式的類型,請使用get_debug_type()函式。然而,要檢查表達式是否屬於特定類型,請改用 is_type
函式。
<?php
$a_bool = true; // 布林值
$a_str = "foo"; // 字串
$a_str2 = 'foo'; // 字串
$an_int = 12; // 整數
echo get_debug_type($a_bool), "\n";
echo get_debug_type($a_str), "\n";
// 如果這是整數,則將其加 4
if (is_int($an_int)) {
$an_int += 4;
}
var_dump($an_int);
// 如果 $a_bool 是字串,則將其印出
if (is_string($a_bool)) {
echo "String: $a_bool";
}
?>
以上範例在 PHP 8 中的輸出
bool string int(16)
注意: 在 PHP 8.0.0 之前的版本中,由於get_debug_type()函式不可用,可以使用gettype()函式代替。然而,它不會使用標準的類型名稱。