您的位置:首页 > 编程语言 > PHP开发

php 判断、设置变量类型

2017-01-16 23:20 274 查看
php判断变量类型常用的函数:

gettype()、settype()、is_array()、is_bool()、
is_float()、is_double()、is_integer()、is_null()、
is_numeric()、is_object()、is_resource()、
is_scalar()、is_string()


现在我们来了解一下他们的具体用法:

注: 若想测试一个变量是否是数字或数字字符串(如表单输入,它们通常为字符串),必须使用 is_numeric()。

gettype() 获取变量类型

返回 PHP 变量的类型,返回的字符串的可能值为以下几种:

可使用is_*函数代替
boolean(从 PHP 4 起)
integer
double(由于历史原因,如果是 float 则返回double,而不是float)
string
array
object
resource(从 PHP 4 起)
NULL(从 PHP 4 起)
user function(只用于 PHP 3,现已停用)
unknown type


php手册的建议是:尽量不要使用gettype()来测试某种类型,因为其返回的字符串在未来的版本中可能改变。此外,由于包含了字符串的比较,它的运行也比较缓慢。

2. settype() 设置变量类型

settype($var,$type)  //将变量var类型设置成type类型

type 的可能值为:
"boolean" (或为"bool",从 PHP 4.2.0 起)
"integer" (或为"int",从 PHP 4.2.0 起)
"float" (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的"double"现已停用)
"string"
"array"
"object"
"null" (从 PHP 4.2.0 起)
//返回值:成功时返回true,失败返回false


3.is_array() 监测变量是否是数组

is_array($var);
//如果变量是数组返回true,否则返回false


4 is_bool() 检测变量是否是布尔型

is_bool ( $var )
//如果 var 是 boolean 则返回 TRUE。


5 is_float() 检测变量是否是浮点型

is_real() is_float() 的别名
is_float (  $var )
//如果 var 是 float 则返回 TRUE,否则返回 FALSE。


注意:这里是检查数据类型的,浮点数字型变量和浮点数字符串类型的变量返回的结果是不一样的。

6.is_double() 判断变量类型是否为倍浮点数类型,

这个基本同 is_float() 一样,主要区别就是在小数点后面数字长度达到一定长度后,is_float 可能返回false,而 is_double 会依旧返回 true;

7 is_integer() 此函数是is_int()的别名

is_int() — 检测变量是否是整数
is_really_int($val)
//如果 var 是 integer 则返回 TRUE,否则返回 FALSE
注意:对于正整数,负整数和0的数字类型变量,该函数都返回true,
其他都返回空(包括字符串类型的整数);


8.is_null() 判断是否为NULL

返回值为true或者false。

注:这里不是空,只有被判断的值为大小写不敏感的null的时候,才会返回true,对于”“,0或者’0’他都将返回false;

php手册里面,在下列情况下一个变量会被认为是 NULL:

(1)被赋值为 NULL。

(2)尚未被赋值。

(3)被 unset()。

9.is_numeric() 判断是否是数字,

这个函数判断条件非常宽松,只要是数字,无论你是字符串类型的,还是数字类型,无论是正的,负的,0,还是浮点数,都将返回true。其他则返回false。

10.is_object() 检测变量是否是一个对象

is_object ( $var )
//如果 var 是一个 object 则返回 TRUE,否则返回 FALSE。


11.is_resource() 用于检测变量是否为资源类型,

返回值为true或者false。

12.is_scalar() 检测变量是否是一个标量,

返回值为true或者false。

13 is_string() 检测变量是否是字符串

is_string ( $var )
//如果 var 是 string 则返回 TRUE,否则返回 FALSE。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 函数 测试 string 对象