首页 » PHP和MySQL Web开发(原书第4版) » PHP和MySQL Web开发(原书第4版)全文在线阅读

《PHP和MySQL Web开发(原书第4版)》1.13 使用可变函数

关灯直达底部

在我们结束对变量和操作符的介绍之前,还要了解一下PHP的可变函数。PHP有一个函数库,这个函数库允许我们使用不同的方法来操作和测试变量。

1.13.1 测试和设置变量类型

大部分的可变函数都是用来测试一个函数的类型的。PHP中有两个最常见的函数,分别是gettype和settype。这两个函数具有如下所示的函数原型,通过它们可以获得要传递的参数和返回的结果:

string gettype(mixed var);

bool settype(mixed var,string type);

要使用gettype函数,必须先给它传递一个变量。它将确定变量的类型并且返回一个包含类型名称的字符串:bool、int、double(对于浮点型)、string、array、object和resource。如果变量类型不是标准类型之一,该函数就会返回“unknown type(未知类型)”。

要使用settype函数,必须先给它传递一个要被改变类型的变量,以及一个包含了上述类型列表中某个类型的字符串。

提示 本书和php.net文档都提到了“混合”数据类型。PHP并没有这个类型。但是,由于PHP在类型处理方面非常灵活,因此许多函数可以用许多(或者任意)的数据类型作为参数。这些类型所允许的参数通常都是伪“混合”类型。

我们可以按如下所示的方式使用这些函数:

$a=56;

echo gettype($a).'<br/>';

settype($a,'double');

echo gettype($a).'<br/>';

当第一次调用gettype函数时,$a的类型是整数。在调用了settype后,它就变成了双精度类型。

PHP还提供了一些特定类型的测试函数。每一个函数都使用一个变量作为其参数,并且返回true或false。这些函数如下。

■is_array:检查变量是否是数组。

■is_double、is_float、is_real(所有都是相同的函数):检查变量是否是浮点数。

■is_long、is_int、is_integer(所有都是相同的函数):检查变量是否是整数。

■is_string:检查变量是否是字符串。

■is_bool:检查变量是否是布尔值。

■is_object:检查变量是否是一个对象。

■is_resource:检查变量是否是一个资源。

■is_null:检查变量是否是为null。

■is_scalar:检查该变量是否是标量,即,一个整数、布尔值、字符串或浮点数。

■is_numeric:检查该变量是否是任何类型的数字或数字字符串。

■is_callable:检查该变量是否是有效的函数名称。