php中empty和isset用法区别详解
isset — 检测变量是否设置
PHP isset() 用于检测一个或多个变量是否设置,如果被检测的变量存在则返回 TRUE,否则返回 FALSE。
例子:
代码如下 | 复制代码 |
<?php $var = 1; if(isset($var)){ echo '变量 $var 已经被设置'; } else { echo '变量 $var 还未被设置'; } ?> |
运行该例子输出:
变量 $var 已经被设置
数组中的元素也同样有效:
代码如下 | 复制代码 |
<?php $a = array ('test' => 1, 'hello' => NULL); var_dump( isset ($a['test') ); // TRUE // 'hello' 等于 NULL,所以被认为是未赋值的。 |
注意
•isset() 只能用于检测变量,传递任何其它参数都将造成解析错误。
•isset() 是一个语言结构而非函数,因此它无法被变量函数调用。
empty — 检查一个变量是否为空
如果 变量 是非空或非零的值,则 empty() 返回 false
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。
除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词
代码如下 | 复制代码 |
// 结果为 true,因为 $var 为空 // 结果为 false,因为 $var 已设置 |
实例对比
代码如下 | 复制代码 |
$is_var = ''; if(isset($is_var)) { if(empty($is_var)) { ?> |
补充:Php教程,Php常用代码