php中变量的类型大概有这么几种int(整数型)、float(浮点型)、boolean(布尔类型)、string(字符串类型),array(数组)、object(对象),null(空)、resource(资源)。但是php语言又是弱语言类型,不同于c语言那样,声明变量的时候就确定了变量是什么类型。php直接可以用$跟变量名声明变量。那么我们如果准确的知道某一个变量属于什么类型,我们可以用下面的函数进行准确判断,事实上也可以用我们之前讲的var_dump函数直接打印变量。
【1】is_*() 函数
is判断变量类型系列函数
is_null
变量是否为空
is_int , is_integer
变量是否为整数
is_numeric
变量是否是数字或数字字符串
is_double, is_float ,is_real
变量是否是浮点型
is_string
变量是否是字符串
is_array
变量是否是数组
is_bool
变量是否是布尔型
is_object
变量是否是一个对象
is_resource
变量是否为资源类型
is_scalar()
变量是否为标量(整数,浮点数,布尔,字符串)
is_callable()
判断是否是有效的函数名
【2】小例子
#以下代码我用var_dump进行输出是否是布尔值,因为如果用print_r对布尔值如果真则输出1否则不输出
//is_null — 检测变量是否为 NULL
$a = null;
var_dump(is_null($a));
//is_int — 检测变量是否是整数
//is_integer函数是 is_int() 的别名函数。
$num = 9;
var_dump(is_int($num));
var_dump(is_integer($num));
$num = '9';
var_dump(is_int($num));//false
//is_numeric测试一个变量是否是数字或数字字符串 如表单输入,它们通常为字符串
$num = 9;
var_dump(is_numeric($num));
$num = '9';
var_dump(is_numeric($num));
//is_double — is_float() 的别名 检测变量是否是浮点型
//is_real — is_float() 的别名
$num = 9.99;
var_dump(is_double($num));
var_dump(is_float($num));
var_dump(is_real($num));
//is_string — 检测变量是否是字符串
$str = 'Tacks';
var_dump(is_string($str));
//检测变量是否是数组
$arr = array('T','a','c','k','s');
var_dump(is_array($arr));
//is_bool — 检测变量是否是布尔型
$bool = true;
var_dump(is_bool($bool));
//is_object — 检测变量是否是一个对象
class Obj{}
$obj = new Obj();
var_dump(is_object($obj));
//is_resource — 检测变量是否为资源类型
$fp = fopen('1.php', 'rw');
var_dump(is_resource($fp));