php中empty和isset用法区别详解
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-29 14:40:33 浏览: 评论:0
在php程序开中发很多朋友把握isset与empty搞混或搞不清楚什么时候用isset,什么时候用empty函数,下面我来介绍两者的区别.
isset — 检测变量是否设置
PHP isset() 用于检测一个或多个变量是否设置,如果被检测的变量存在则返回 TRUE,否则返回 FALSE.
例子代码如下:
- <?php
- $var = 1;
- if(isset($var)){
- echo '变量 $var 已经被设置';
- } else {
- echo '变量 $var 还未被设置';
- }
- ?>
- //运行该例子输出:
- //变量 $var 已经被设置
数组中的元素也同样有效,代码如下:
- $a = array ('test' => 1, 'hello' => NULL);
- var_dump( isset ($a['test') ); // TRUE
- var_dump( isset ($a['foo') ); // FALSE
- var_dump( isset ($a['hello') ); // FALSE
- // 'hello' 等于 NULL,所以被认为是未赋值的。
- // 如果想检测 NULL 键值,可以试试下边的方法。
- var_dump( array_key_exists('hello', $a) ); // TRUE
注意:
•isset() 只能用于检测变量,传递任何其它参数都将造成解析错误。
•isset() 是一个语言结构而非函数,因此它无法被变量函数调用。
empty — 检查一个变量是否为空
如果 变量 是非空或非零的值,则 empty() 返回 false
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。
除了当变量没有置值时不产生警告之外,empty() 是 (boolean) var 的反义词,代码如下:
- <?php
- $var = 0;
- // 结果为 true,因为 $var 为空
- if (emptyempty($var)) {
- echo '$var is either 0 or not set at all';
- }
- // 结果为 false,因为 $var 已设置
- if (!isset($var)) {
- echo '$var is not set at all';
- }
- ?>
实例对比,代码如下:
- $is_var = '';
- if(isset($is_var)) {
- echo "变量存在!<br />";
- } else {
- echo "变量不存在!<br />";
- }
- if(emptyempty($is_var)) {
- echo "变量为空!<br />";
- } else {
- echo "变量不为空!<br />";
- }
Tags: empty isset 用法区别
- 上一篇:PHP实现查询多级分类的程序代码
- 下一篇:汉字转换成Unicode编码PHP程序
相关文章
- ·php 判断变量为空详解介绍(2014-03-11)
- ·浅析php中empty与isset区别(2014-07-18)
- ·php Note: empty() only checks variables as anything错误(2014-09-21)
- ·php中isset(Null)与is_null() empty()用法比较(2015-12-12)
- ·php empty 函数判断结果为空但实际值却为非空的原因解析(2021-09-18)
- ·php中 ->与 ==>符号的用法与区别(2014-07-15)
- ·php str_replace与preg_replace用法区别(2014-09-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)