描述
返回值
返回的字元串的可能值為:
“user function”(只用於 PHP 3,現已停用)
“unknown type”
注意
不要使用gettype()來測試某種類型,因為其返回的字元串在未來的版本中可能需要改變。此外,由於包含了字元串的比較,它的運行也是較慢的。
請使用 is_* 函式代替。例如:is_array()、is_bool()、is_float()、is_int()、is_null()、is_object()、is_resource()、is_string()等。
對於 PHP 4,你應該使用 function_exists() 和 method_exists() 取代先前將 gettype() 作用於函式的用法。
建議
但是有時候我們又不得不使用gettype這樣的功能來判斷參數的類型,這個時候我們應該怎么辦?我們可以自己定義一個函式實現這個邏輯。
function get_type($var) { if (is_object($var)) { return get_class($var); } if (is_null($var)) { return 'null'; } if (is_string($var)) { return 'string'; } if (is_array($var)) { return 'array'; } if (is_int($var)) { return 'integer'; } if (is_bool($var)) { return 'boolean'; } if (is_float($var)) { return 'float'; } if (is_resource($var)) { return 'resource'; } return 'unknown'; }
另一個版本:
function get_type($var) { if (is_array($var)) { return "array"; } if (is_bool($var)) { return "boolean"; } if (is_float($var)) { return "float"; } if (is_int($var)) { return "integer"; } if (is_null($var)) { return "NULL"; } if (is_numeric($var)) { return "numeric"; } if (is_object($var)) { return "object"; } if (is_resource($var)) { return "resource"; } if (is_string($var)) { return "string"; } return "unknown"; }