php判断变量类型常用方法

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;

转载请注明:代码家园 » php判断变量类型常用方法

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)