概述
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 判断、设置变量类型的全部内容,希望文章能够帮你解决php 判断、设置变量类型所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复