【澳门葡京备用网址】php判断变量类型常用方法,类型的区分

半夜整理东西,发现一个在先没留意到的不是问题。

php
判断变量类型常用的函数主要有下列几个:

=

gettype()

function show($id) : int
{
       return $id;
}
function show($id) : integer
{
       return $id;
}

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 7.0+
里帮衬了函数(和措施)的回来值类型提示,上述第三种写法在解释运作时会触发一个
Fatal Error,要求重回值必须是 integer
类的一个实例
【澳门葡京备用网址】php判断变量类型常用方法,类型的区分。:

现在让我们精晓下他们的现实的使用办法

语法: string gettype(mixed var);

“boolean”(从 PHP 4 起)

PHP Fatal error: Uncaught TypeError: Return value of show() must be an instance of integer, integer returned in /home/mingc/practice/demo68.php:12

gettype() 返回 PHP
变量的类型,重回的字符串的或许值为以下三种:

返回值: 字符串

“integer”

自然,两者在要挟类型转换时效果是如出一辙的:

boolean(从 PHP 4 起)
integer
double(由于历史由来,固然是 float 则赶回double,而不是float)
string
array
object
resource(从 PHP 4 起)
NULL(从 PHP 4 起)
user function(只用于 PHP 3,现已停用)
unknown type

函数种类: PHP 系统机能

“double”(如果是 float 则返回“double”,而不是“float”)

$a = '27c';
var_dump((int)$a); // int(27)
var_dump((integer)$a); // int(27)

注意:对此 PHP 4及以上,你应有使用 function_exists() 和
method_exists() 取代以前将 gettype() 作用于函数的用法

内容说明

“string”

 

这个函数大家应该很少用,其实对于那一个函数也尽可能不要用。php手册的指出是:不要接纳gettype()
来测试某系列型,因为其回来的字符串在以后的版本中恐怕须要变更。其余,由于包括了字符串的相比,它的运转也是较慢的,所以尽可能利用
is_* 函数代替。

本函数用来博取变量的档次。再次来到的档次字符串可能为下列字符串其中之一:integer、double、string、array、object、unknown
type。

“array”

有关链接

  • PHP difference between int and
    integer

 

is_array() 判断是或不是是数组,再次回到值为true或者false。

参考

“object”

is_bool() 判断是不是是boolean类型的变量,重临值为true或者false

settype

计划变量类型。

语法: int settype(string var, string type);

返回值: 整数

澳门葡京备用网址,函数种类: PHP 系统效率

内容说明

本函数用来布局或转换变量类型。成功再次来到 true 值,其他景况再次来到 false
值。参数 var 为原本的变量名,参数 type
为下列的档次之一:integer、double、string、array 与 object。

“resource”(从 PHP 4 起)

is_float()
判断是不是是浮点类型的变量,重回值为true或者false。注意:那里是检查数据类型的,浮点数字型变量和浮点数字符串类型的变量重临的结果是不等同的。

“NULL”(从 PHP 4 起)

is_double
判断变量类型是还是不是为倍浮点数类型,重回值为true或者false。这么些基本同
is_float
一样,紧要分歧就是在小数点前边数字长度达到一定长度后,is_float
可能回到false,而 is_double 会依然再次来到 true;

“unknown type”

is_integer() 此函数是 is_int()
的别名函数,判断是不是是整数类型的变量,再次回到值为true或者false。注意:对于正整数,负整数和0的数字类型变量,该函数都回去true,其余都再次回到空(包蕴字符串类型的平头);

例如:

is_null()
判断是或不是为NULL,再次回到值为true或者false。注意这里不是空,唯有被判定的值为大小写不敏感的null的时候,才会回到true,对于”,0或者’0’他都将重临false;那么在php里面一个变量哪天才会被认为是NULL的呢?

gettype(‘1’);再次回到的是string

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

而gettype(1);再次回到的是integer

(1)被赋值为 NULL。

is_array()

(2)尚未被赋值。

is_array()的用法相对不难

(3)被 unset()。

一旦参数是数组重返 true 否则再次回到 false

is_numeric()
判断是或不是是数字,重返值为true或者false。这么些函数判断标准尤其宽松,只借使数字,无论你是字符串类型的,仍旧数字类型,无论是正的,负的,0,仍旧浮点数,都将回来true。其余则赶回false。

其余多少个函数的用法和重回值与is_array()类似

is_object() 检测变量是不是是一个目的,再次回到值为true或者false。

那里须要留意的是 is_numeric()是用来判定 变量是还是不是是数字仍旧数字符串的

is_resource() 用于检测变量是不是为资源类型,再次来到值为true或者false。

当is_numeric() 的参数是数字依然数字字符串的时候 再次回到true 否则返 false

is_scalar() 检测变量是或不是是一个标量,再次来到值为true或者false。

is_string() 检测变量是还是不是是字符串项目,再次来到值为true或者false。这里可以领略为她只检测体系,固然一个变量为空,只如若字符串类型,他也会返回true;

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website