可以使用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 ) |
如果value 是null 值,则返回true ,否则返回false |