PHP判断数据类型
在使用数据变量时,先弄清该变量属于什么类型是很有必要的。只有知道了数据变量的类型,才能对它进行相关的操作。那么 PHP 中是如何判断数据类型的呢?
在 PHP 中有许多专门的函数来判断数据类型,常用的判断数据类型的函数如下表所示。
【示例】下面通过示例来演示一下上面这些函数的使用方法。
在 PHP 中有许多专门的函数来判断数据类型,常用的判断数据类型的函数如下表所示。
函数名 | 作用 | 返回值 |
---|---|---|
is_array(mixed $var) | 判断变量是否为数组 | 如果参数 $var 为数组则返回 TRUE,否则返回 FALSE |
is_bool(mixed $var) | 判断变量是否为布尔类型 | 如果参数 $var 为布尔类型的值则返回 TRUE,否则返回 FALSE |
is_float(mixed $var) | 判断变量是否为浮点数 | 如果参数 $var 为浮点数则返回 TRUE,否则返回 FALSE |
is_int(mixed $var) | 判断变量是否为整数类型 | 如果参数 $var 为整数类型则返回 TRUE,否则返回 FALSE |
is_null(mixed $var) | 判断变量是否为 NULL | 如果参数 $var 未被定义,或者被设置为 NULL 则返回 TRUE,否则返回 FALSE |
is_numeric(mixed $var) | 判断变量是否为数字或者数字字符串 | 如果参数 $var 为数字或者数字字符串则返回 TRUE,否则返回 FALSE |
is_object(mixed $var) | 判断变量是否为一个对象 | 如果参数 $var 为一个对象则返回 TRUE,否则返回 FALSE |
is_scalar(mixed $var) |
判断变量是否为一个标量(标量即最小的变量单位,只包括 integer、float、string 或 bool 类型的变量,而 array、 object 和 resource 则不是标量) |
如果参数 $var 为标量则返回 TRUE,否则返回 FALSE |
is_string(mixed $var) | 判断变量是否为字符串 | 如果参数 $var 为字符串则返回 TRUE,否则返回 FALSE |
isset(mixed $var) | 判断变量是否已经定义 |
如果参数 $var 已经存在则返回 TRUE,否则返回 FALSE。 注意:被设置为 NULL 的变量在使用 isset() 时将返回 FALSE |
【示例】下面通过示例来演示一下上面这些函数的使用方法。
<?php $num1 = 123456; $arr = array(1, 2, 3, 4, 5, 6, 7); $bool = false; $str1 = NULL; $str2 = '654321'; $float = 3.1415926; $str3 = '新宝库'; class foo{ function dosomething(){ echo "新宝库"; } } $obj = new foo(); if(is_array($arr)) echo '$arr 是数组'; echo '<br>'; if(!is_array($num1)) echo '$num1 不是数组'; echo '<br>'; if(is_numeric($str2)) echo '$str2 是数字'; echo '<br>'; if(is_bool($bool)) echo '$bool 是数字'; echo '<br>'; if(is_float($float)) echo '$float 是浮点类型'; echo '<br>'; if(!is_float($str2)) echo '$str2 不是浮点类型'; echo '<br>'; if(is_int($num1)) echo '$num1 是整数类型'; echo '<br>'; if(!is_int($float)) echo '$float 不是整数类型'; echo '<br>'; if(is_string($str2)) echo '$str2 是字符串'; echo '<br>'; if(is_object($obj)) echo '$obj 是一个对象'; echo '<br>'; if(!isset($str1)) echo '$str1 未定义或则值为 NULL'; ?>运行结果如下:
$arr 是数组
$num1 不是数组
$str2 是数字
$bool 是数字
$float 是浮点类型
$str2 不是浮点类型
$num1 是整数类型
$float 不是整数类型
$str2 是字符串
$obj 是一个对象
$str1 未定义或则值为 NULL
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算