大部分的可变函数都是用来测试一个函数的类型的。PHP中有两个最常见的函数,分别是gettype()和settype()。这两个函数具有如下所示的函数原型,通过他们可以获得要传递的参数和返回的结果。
  1. string gettype(mixed var);
  2. bool settype(mixed var,string type);
要使用gettype()函数,必须先给它传递一个变量。它将确定变量的类型并且返回一个包含类型名称的字符串:bool、int、double、string、array、object和resource。如果变量类型不是标准类型之一,该函数就会返回“unknown type(未知类型)”。 要使用settype()函数,必须先给它传递一个要被改变的变量,以及一个包含了上述类型列表中的某个类型的字符串,比如下面的例子:
<?php
$a = 56;
echo GetType($a) . '<br />'; //将会输出 integer
settype($a, 'double');
echo GetType($a). '<br />'; //将会输出double
?>
当第一次调用gettype()时,$a 的类型是整数。在调用setype()后,它就变成了双精度类型。 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():检查该变量是否是有效的函数名称。