易百教程

PHP获取变量的类型

可以使用PHP的gettype()函数确定变量的类型。该函数将变量的类型作为字符串返回。
在以下代码中,声明了一个变量,并使用gettype()测试其类型。
然后,将四种不同类型的数据分配给变量,并且每次使用gettype()重新测试变量的类型:

<?php
     $test_var; // 声明 $test_var 变量,但不初始化它
     echo gettype( $test_var ) . " \n "; // 显示 "NULL"
     $test_var = 15;
     echo gettype( $test_var ) . " \n "; // 显示 "integer"
     $test_var = 8.23;
     echo gettype( $test_var ) . " \n "; // 显示 "double"
     $test_var = "Hello, world!";
     echo gettype( $test_var ) . " \n "; // 显示 "string"
?>

执行上面示例代码,得到以下结果:

D:\>php test.php

Notice: Undefined variable: test_var in D:\test.php on line 3
NULL
 integer
 double
 string

$test_var变量最初的类型为null,因为它已经创建但未使用指定的值进行初始化。
$test_var的值设置为15后,其类型将更改为整数。
$test_var设置为8.23后,PHP会将其类型更改为double
最后,将$test_var设置为"Hello,world!" 将其类型更改为字符串。
在PHP中,浮点值是带小数点的数值。

因此,如果在前面的示例中使用15.0而不是15,则$test_var将变为double,而不是整数。

更多函数

可以使用以下PHP的类型测试函数来测试特定数据类型的变量:

编号 函数 描述
1 is_int( value ) 如果value是整数,则返回true,否则返回false
2 is_float( value ) 如果value是浮点数,则返回true,否则返回false
3 is_string( value ) 如果value是字符串,则返回true,否则返回false
4 is_bool( value ) 如果value是布尔值,则返回true,否则返回false
5 is_array( value ) 如果value是数组,则返回true,否则返回false
6 is_object( value ) 如果value是对象,则返回true,否则返回false
7 is_resource( value ) 如果value是资源值,则返回true,否则返回false
8 is_null( value ) 如果valuenull值,则返回true,否则返回false