1. 自動轉換 自動轉換,又稱隱式轉換,很多情況下,PHP會根據上下文環境來對資料的類型自動進行轉換。
2. 強制轉換 強制轉換,又稱顯示轉換,在某些特殊情況下,需要我們手工地對資料進行強制類型轉換。
PHP 中的類型強制轉換和 C語言中的非常像,在需要轉換的變數之前加上用括弧括起來的目標類型。
允許的強制轉換有: (int), (integer) :轉換為整型。 (bool), (boolean): 轉換為布爾類型。 (float),(double),(real) :轉換為浮點型。 (string):轉換為字串。 (array) :轉換為數組。 (object):轉換為對象。 (unset):轉換為 NULL。 還可以通過一些函數,實現資料類型的強制轉換: intval($var):轉換成整型,返迴轉換後的值。 floatval($var) 或 doubleval($var):轉換成浮點型,返迴轉換後的值。 strval($var):轉換成字串型,返迴轉換後的值。 boolval($var):轉換成布爾類型,返迴轉換後的值。
上面的強制類型轉換都是臨時的,如果要實作類別型的永久轉換,可以使用函數settype()。 bool settype( mixed &$var , string $type ) 設定變數的類型,成功返回true,失敗返回false。 <?php $a = 'g2'; settype($a, 'integer'); echo $a; ?> 函數gettype()可以返回一個變數的類型。
3. 變數類型的檢測 檢測是否為整型:is_int() 或 is_integer() 或 is_long() 檢測是否為浮點型:is_float() 或 is_double() 或 is_real() 檢測是否為字串:is_string() 檢測是否為布爾類型:is_bool() 檢測是否為標量類型:is_scalar() 檢測是否為數群組類型:is_array() 檢測是否為物件類型:is_object(); 檢測是否為資源類型:is_resource(); 檢測是否為NULL:is_null() 檢測是否為數實值型別包含字串型的數值:is_numeric();