abstract:php 判断变量类型常用的函数主要有下列几个:gettype()、is_array()、is_bool()、is_float()、is_double()、is_integer()、is_null()、is_numeric()、is_object()、is_resource()、is_scalar() 和 is_string()现在让我们了解下他们的具体的使用方法gettype() 返回
php 判断变量类型常用的函数主要有下列几个:
gettype()、is_array()、is_bool()、is_float()、is_double()、is_integer()、is_null()、is_numeric()、is_object()、is_resource()、is_scalar() 和 is_string()
现在让我们了解下他们的具体的使用方法
gettype() 返回 PHP 变量的类型,返回的字符串的可能值为以下几种:
boolean(从 PHP 4 起)
integer
double(由于历史原因,如果是 float 则返回double,而不是float)
string
array
object
resource(从 PHP 4 起)
NULL(从 PHP 4 起)
user function(只用于 PHP 3,现已停用)
unknown type
注意:对于 PHP 4及以上,你应该使用 function_exists() 和 method_exists() 取代先前将 gettype() 作用于函数的用法。
这个函数大家应该很少用,其实对于这个函数也尽量不要用。php手册的建议是:不要使用 gettype() 来测试某种类型,因为其返回的字符串在未来的版本中可能需要改变。此外,由于包含了字符串的比较,它的运行也是较慢的,所以尽量使用 is_* 函数代替。
is_array() 判断是否是数组,返回值为true或者false。
is_bool() 判断是否是boolean类型的变量,返回值为true或者false
is_float() 判断是否是浮点类型的变量,返回值为true或者false。注意:这里是检查数据类型的,浮点数字型变量和浮点数字符串类型的变量返回的结果是不一样的。
is_double 判断变量类型是否为倍浮点数类型,返回值为true或者false。这个基本同 is_float 一样,主要区别就是在小数点后面数字长度达到一定长度后,is_float 可能返回false,而 is_double 会依旧返回 true;
is_integer() 此函数是 is_int() 的别名函数,判断是否是整数类型的变量,返回值为true或者false。注意:对于正整数,负整数和0的数字类型变量,该函数都返回true,其他都返回空(包括字符串类型的整数);
is_null() 判断是否为NULL,返回值为true或者false。注意这里不是空,只有被判断的值为大小写不敏感的null的时候,才会返回true,对于'',0或者'0'他都将返回false;那么在php里面一个变量什么时候才会被认为是NULL的呢?
php手册里面说到,在下列情况下一个变量会被认为是 NULL:
(1)被赋值为 NULL。
(2)尚未被赋值。
(3)被 unset()。
is_numeric() 判断是否是数字,返回值为true或者false。这个函数判断条件非常宽松,只要是数字,无论你是字符串类型的,还是数字类型,无论是正的,负的,0,还是浮点数,都将返回true。其他则返回false。
is_object() 检测变量是否是一个对象,返回值为true或者false。
is_resource() 用于检测变量是否为资源类型,返回值为true或者false。
is_scalar() 检测变量是否是一个标量,返回值为true或者false。
is_string() 检测变量是否是字符串类型,返回值为true或者false。这里可以理解为他只检测类型,即使一个变量为空,只要是字符串类型,他也会返回 true;