PHP 內建型別檢查函數與 gettype() 用法
常用 is_* 函數
| 函數 | 檢查型別 | 回傳值 |
| is_string() | 字串 | bool |
| is_int() / is_integer() / is_long() | 整數 | bool |
| is_float() / is_double() / is_real() | 浮點數 | bool |
| is_bool() | 布林值 | bool |
| is_array() | 陣列 | bool |
| is_object() | 物件 | bool |
| is_null() | NULL | bool |
| is_scalar() | 純量(int/float/string/bool) | bool |
| is_callable() | 可呼叫(函數/閉包/物件 __invoke) | bool |
| is_resource() | 資源型別 | bool |
gettype() 取得型別名稱字串
<?php
$str = 'hello';
$int = 9;
$bool = false;
$arr = [1,2];
echo gettype($str); // string
echo gettype($int); // integer
echo gettype($bool); // boolean
echo gettype($arr); // array
?>
型別比較最佳實務
- 嚴格比較請用
=== / !==,避免自動轉型陷阱。
- 檢查變數是否存在且非空:
isset($var) && $var !== ''。
- JSON API 回傳前,建議統一用
json_encode() 處理型別。