加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP判断数据类型

发布时间:2020-12-13 17:59:23 所属栏目:PHP教程 来源:网络整理
导读:在使用数据变量时,先弄清该变量属于什么类型是很有必要的。只有知道了数据变量的类型,才能对它进行相关的操作。那么 PHP 中是如何判断数据类型的呢? 在 PHP 中有许多专门的函数来判断数据类型,常用的判断数据类型的函数如下表所示。 函数名 作用 返回值 i
在使用数据变量时,先弄清该变量属于什么类型是很有必要的。只有知道了数据变量的类型,才能对它进行相关的操作。那么 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 = 'C语言中文网';
    class foo{
        function dosomething(){
            echo "C语言中文网";
        }
    }
    $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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读