php数据类型之查看和判断数据类型
我们知道了一个数据的类型,才能进行下一步操作。后面的时候,大家可以学习到更多的知识——自定义功能(函数)。
我们来做一个场景模拟:(注:眼前不用会写这个函数,以后会教大家)
假设,我们可以写一个智能的功能(函数),它让有一个功能,就是打开一个装有学生成绩的电子表格。这个函数非常先进。
1.只有一个人的时候,就返回一个人的成绩,成绩是整型或者浮点型变量。
2.有2个或两个以上人的时候,返回一个数组类型变量,数组中装有多个人的成绩
3.如果没有人的时候,则返回布尔值的变量,变量值为false
通过上面的一个场景模拟,我们知道了,一个函数(功能)有可能返回不同的数据类型。因此,我们可以根据不同的类型来做不同的事情。
判断数据类型很重要,我们需要严格掌握。
【默写级知识点】显示类型的函数、得到类型的函数、判断类型的函数
查看数据类型
1.gettype(传入一个变量) 能够获得变量的类型
2.var_dump(传入一个变量) 输出变类型和值
<?php //声明一个变量88.8,你可以自己多做几次实验换成其他类型看看$type输出是多少 $float = 88.8; $type = gettype($float); echo $type; ?>
<?php //多换几个类型试试 $str = '你喜欢尊上还是喜欢杀仟陌?'; var_dump($str); ?>
判断数据类型
我们使用is_* 系列函数。 is_types这一系列的函数,来进行判断某个东西是不是某个类型。如果是这个类型返回真,不是这个类型返回假。
is_int 是否为整型
is_bool 是否为布尔
is_float 是否是浮点
is_string 是否是字符串
is_array 是否是数组
is_object 是否是对象
is_null 是否为空
is_resource 是否为资源
is_scalar 是否为标量
is_numeric 是否为数值类型
is_callable 是否为函数
<?php //is_* 系列函数有个特点,就是如果是这个类型就返回的是真。不是这个数据类型就返回的是假 //声明类型为假 $fo = false; if(is_bool($fo)){ echo '执行真区间'; }else{ echo '执行假区间'; } //检查未声明的变量$p是否为空,为空就执行真区间 if(is_null($p)){ echo '执行真区间'; }else{ echo '执行假区间'; } echo "<br/>"; //字符串类型的数值,看看执行的是真还是假 $str = '18.8'; if(is_numeric($str)){ echo '执行真区间'; }else{ echo '执行假区间'; } echo "<br/>"; //把sca的值换成整型、浮点、布尔和字符串试试 $sca = true; //如果为标量,执行真区间 if(is_scalar($sca)){ echo '执行真区间'; }else{ echo '执行假区间'; } echo "<br/>"; //换成echo,is_int试试,为什么echo执行假区间呢? if(is_callable('var_dump')){ echo '执行真区间'; }else{ echo '执行假区间'; } ?>
注:is_types 很好记。is_ 在前后面跟类型即可。
变量:整型(int) 浮点(float)、布尔(bool)、字符串(string)
混合类型: 数组(array)、对象(object)
特殊类型:空(null)、 资源(resouce)、回调(callback)
为什么最后的实验中echo执行假区间呢?
答:因为echo 不是函数,是基本语法。大家眼前可以不用理解函数和基本语法的区别。了解和不了解在实际开发中没有影响。知道有这个知识点就行。