一、使用gettype函数判断数据类型
$var1 = "Hello World!"; $var2 = 123; $var3 = 3.14; $var4 = false; $var5 = null; echo gettype($var1); // 输出string echo gettype($var2); // 输出integer echo gettype($var3); // 输出double echo gettype($var4); // 输出boolean echo gettype($var5); // 输出NULL
gettype函数可以用来获取变量的数据类型,其返回值为字符串类型。在判断变量数据类型时,我们可以使用gettype函数来获取变量的数据类型,然后再进行判断。
二、使用is_xxx函数判断数据类型
$var1 = "Hello World!"; $var2 = 123; $var3 = 3.14; $var4 = false; $var5 = null; echo is_string($var1); // 输出true echo is_int($var2); // 输出true echo is_float($var3); // 输出true echo is_bool($var4); // 输出true echo is_null($var5); // 输出true
is_xxx函数可以用来判断变量是否属于某个数据类型,其返回值为布尔类型。在判断变量数据类型时,我们可以使用is_xxx函数来判断变量是否属于某个数据类型。
三、使用类型约束来限制函数参数类型
function add(int $num1, int $num2){ return $num1 + $num2; } add(1,2); // 正确 add("1", "2"); // 报错,参数类型错误
PHP7支持类型约束,可以用来约束函数的参数类型。在函数定义时,可以使用int、float、bool和string等类型来约束函数参数的数据类型。当函数调用时,实参的数据类型与形参类型不符合时,会抛出类型错误。
四、使用instanceof运算符判断对象类型
class Person{ public $name; } class Student extends Person{ public $age; } $p = new Person(); $s = new Student(); echo $p instanceof Person; // 输出true echo $p instanceof Student; // 输出false echo $s instanceof Person; // 输出true echo $s instanceof Student; // 输出true
instanceof运算符可以用来判断一个对象是否属于某个类或某个类的子类。在判断对象类型时,我们可以使用instanceof运算符来判断一个对象是否属于某个类或某个类的子类。
五、使用函数来判断数组类型
function isArray($var){ return is_array($var); } $arr = array("apple", "banana", "pear"); echo isArray($arr); // 输出true echo isArray("Hello World!"); // 输出false
虽然使用is_array函数可以判断变量是否属于数组类型,但是这不是一个非常直观的操作。我们可以通过封装一个isArray函数来直接判断一个变量是否属于数组类型,并且在使用时更方便。