1、使用empty(),检测变量是否为空
<?php
$a='test';
$b=array('key1'=>'value1');
$class=newstdClass();
var_dump(empty($c));//输出bool(true)
var_dump(empty($b['key2']));//输出bool(true)
var_dump(empty($class));//输出bool(false)
var_dump(empty($class->test->test));//输出bool(true)
classEmptyClass{};
$empty_class=newEmptyClass();
var_dump(empty($empty_class));//输出bool(false)
?>
2、使用isset()判断变量是否被初始化,可用来测试变量是否已经配置
<?php
$a='test';
$b=array('key1'=>'value1');
$class=newstdClass();
var_dump(isset($class->test->test));//判断对象属性是否定义:输出bool(false)
var_dump(isset($a));//判断变量是否定义:输出bool(true)
var_dump(isset($c));//判断变量是否定义:输出bool(false)
var_dump(isset($b['key1']));//判断数组元素是否定义:输出bool(true)
var_dump(isset($b['key2']));//判断数组元素是否定义:输出bool(false)
?>
3、使用is_null()检测变量是否为null
<?php
$a=null;
$b=false;
var_dump(is_null($a));
var_dump(is_null($b));
var_dump(is_null($c));
?>
4、可以使用var==null来判断变量是否为空
<?php
$a=0;
$b=array();
var_dump($a==null);
var_dump($b==null);
var_dump($c==null);
?>
知识点扩展:
是否定义判断:isset()
可以使用isset()函数判断一个变量是否定义,数组内某个元素是否被初始化,它的效率比array_key_exists()高4倍左右
$a='test';
$b=array('key1'=>'value1');
$class=newstdClass();
var_dump(isset($class->test->test));//判断对象属性是否定义:输出bool(false)
var_dump(isset($a));//判断变量是否定义:输出bool(true)
var_dump(isset($c));//判断变量是否定义:输出bool(false)
var_dump(isset($b['key1']));//判断数组元素是否定义:输出bool(true)
var_dump(isset($b['key2']));//判断数组元素是否定义:输出bool(false)
是否为空判断:empty()
empty()函数,检测变量是否为空
任何一个未初始化的量,0,false,空字符串,null,空数组,使用empty判断都会返回true
var_dump(empty($c));//输出bool(true)
var_dump(empty($b['key2']));//输出bool(true)
var_dump(empty($class));//输出bool(false)
var_dump($class);//输出object(stdClass)#1(0){}
var_dump(empty($class->test->test));//输出bool(true)
classEmptyClass{};
$empty_class=newEmptyClass();
var_dump(empty($empty_class));//输出bool(false)
|