我们知道了一个数据的类型,才能进行下一步操作。后面的时候,大家可以学习到更多的知识——自定义功能(函数)。 我们来做一个场景模拟:(注:眼前不用会写这个函数,以后会教大家) 假设,我们可以写一个智能的功能(函数),它让有一个功能,就是打开一个装有学生成绩的电子表格。这个函数非常先进。 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 '执行假区间'; } //字符串类型的数值,看看执行的是真还是假 $str = '18.8'; if(is_numeric($str)){ echo '执行真区间'; }else{ echo '执行假区间'; } ?> //把sca的值换成整型、浮点、布尔和字符串试试 $sca = true; //如果为标量,执行真区间 if(is_scalar($sca)){ echo '执行真区间'; }else{ echo '执行假区间'; } //换成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 不是函数,是基本语法。大家眼前可以不用理解函数和基本语法的区别。了解和不了解在实际开发中没有影响。知道有这个知识点就行。