您的位置:

如何以 PHP 判断变量类型

一、使用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函数来直接判断一个变量是否属于数组类型,并且在使用时更方便。