PHP中empty()和isset()的区别

转载地址:http://www.2cto.com/kf/201510/445682.html

1、empty函数 

用途:检测变量是否为空
判断:如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。来源手册:http://php.net/manual/zh/function.empty.php 
注意:empty() 只检测变量,检测任何非变量的东西都将导致解析错误。
$name=0;
$name='';
$name=null;
$name="0";
$name;
if(empty($name))
{
echo "ok"; //上面五种写法empty($name)都是 true
}
if(empty($na))  //结果为 true 由于变量$na未定义
2、isset函数
用途:检测变量是否设置
判断:检测变量是否设置,并且不是 NULL。如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个NULL 字节("\0")并不等同于 PHP 的 NULL 常数。
isset 函数是用于检测这个变量是否设置过,在下面两种情况下会认为 isset为假
①$id; 没有给任何值
②或者就是根本没有定义.
因此我们建议在 判断某个表单是否提交有数据,使用isset来判断if(isset($_GET/$_POST['变量']){echo $_GET['变量']}else{ echo '没有传递数据'}
例子:
$a1 = null;
$a2 = false;
$a3 = 0;
$a4 = '';
$a5 = '0';
$a6 = 'null';
$a7 = array();
$a8 = array(array());
echo empty($a1) ? ‘true’ : ‘false’;//输出true
echo empty($a2) ? ‘true’ : ‘false’;//输出true
echo empty($a3) ? ‘true’ : ‘false’;//输出true
echo empty($a4) ? ‘true’ : ‘false’;//输出true
echo empty($a5) ? ‘true’ : ‘false’;//输出true
echo empty($a6) ? ‘true’ : ‘false’;//输出false
echo empty($a7) ? ‘true’ : ‘false’;//输出true
echo empty($a8) ? ‘true’ : ‘false’;//输出false
echo ‘<br/>’;
echo isset($a1) ? ‘true’ : ‘false’;//输出false
echo isset($a2) ? ‘true’ : ‘false’;//输出true
echo isset($a3) ? ‘true’ : ‘false’;//输出true
echo isset($a4) ? ‘true’ : ‘false’;//输出true
echo isset($a5) ? ‘true’ : ‘false’;//输出true
echo isset($a6) ? ‘true’ : ‘false’;//输出true
echo isset($a7) ? ‘true’ : ‘false’;//输出true
echo isset($a8) ? ‘true’ : ‘false’;//输出true
 
1、isset值对于变量没有赋值或者赋值为NULL时判断false,其余都是true;
2、empty需要注意点比较多,要根据函数的定义来做判断.

转载于:https://my.oschina.net/yichenbaby/blog/786194

PHPissetempty的用法与区别示例详解 前言 在编写程序调用变量时,遇到未定义的变量时,会报错,这是就需要我们对变量先进行判断,再进行相关操作。 这里主要记录两个变量判断函数的使用:isset()empty() 1、isset — 检测变量是否已设置并且非 NULL isset ( mixed $var [, mixed $... ] ) : bool 如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。 若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。 同时要注意的是 null 字符(”\0″)并不等同于 PHP 的 NULL 常量。 注:如果一次传入多个参数,那么 i 立即下载

相关推荐

PHPempty,isset,is_null用法区别

最近在阅读项目的源码,发现源码中就对emptyissetis_null函数(语言特性)乱用,有的地方很明显的就挖坑了。不能正确的去理解这些东西,就很可能给后续的开发挖坑了。

PHPisset() empty() 区别一共包含几个部分?使用场景是什么?底层原理是什么?

【代码】PHPisset() empty() 区别一共包含几个部分?使用场景是什么?底层原理是什么?

长风破浪会有时的博客 1376

PHP isset()empty()区别

php中,当要判断一个变量是否已经声明的时候可以使用isset函数,当要判断一个变量是否已经赋予数据且补位空,可以用empty函数,当要判断一个变量存在且不为空,先isset函数,再用empty函数。 本文章向大家详细介绍isset()empty()区别及使用实例。

wuxiaopengnihao1的博客 1990

PHPemptyisset区别

isset 函数虽然也会检测给定变量是否为 NULL 的情况,但更主要的目的用于检测给定目标参数是否设置。empty 主要用于:检测给定参数目标是否是“空值”。isset 主要用于:检测给定参数目标是否设置。

仅做个人笔记 358

PHP isset() empty() 区别

这两个函数在PHP编程中经常用于检查变量是否已设置或是否为空,但它们各自的用途行为有所不同。

sheji888的专栏 1366

PHP基础篇:empty() isset()区别介绍

isset判断变量是否被设置, 为false的情况:未定义的变量,被unset()销毁的变量赋值为null的变量empty判断变量是否为空 为true的情况:整数0,浮点数0.0 ,字符串"0" , false,null的变量,空字符串"" , 空数组array(),只定义未赋值变量。 二者的共同点 返回值都是布尔型类型(boolean),即true或者false。 注:两个函数参数只能是变量不能是常量,会报错。 ...

weixin_40901045的博客 414

PHP isset()empty()的使用区别详解

在list.blade.php文件中 采用@if(isset($search_all))@else <tr> <th colspan="15">您查询的结果不存在!</th> </tr> @endif 明明从接受的$search_all的值是空,却不能显示:您查询的结果不存在后来将isset修改为empty后,当$search的值为空时,可以正常显示:您查询的结果不存在他们的共

gengfu_php的博客 1394

php empty()isset()区别

在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。 顾名思义,empty() 判断一个变量是否为“空”,isset() 判断一个变量是否已经设置。正是这种所谓的“顾名思义”,令我开始时走了些弯路:当一个变量值等于0时,empty()也...

weixin_33851604的博客 193

PHPempty() isset()区别

区别empty()函数用于检查一个变量是否为空。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。 isset()函数用于检测变量是否已设置并且非 NULL。如果已经使用 unset() 释放了一个变量之后,再通过 isset() 判断将返回 FALSE。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是 null 字符("\0")并不等同于 PHP 的 NULL 常量。 对于 ..

幽篁晓筑的博客 1916

PHPisset()empty()函数的区别

两者都是测试变量用的。 isset()是测试变量是否赋值; empty()是测试一个已经被赋值变量是否为空。 注意:如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示。如果一个变量被赋空值,$foo=”“或者$foo=0或者$foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是说赋空值不会注销一个变量。要注销一个变量,可以用 un

Super乐De博客 624

php中的isset函数,phpisset()、isnull()empty()三个函数的区别

摘要:在php中经常会用isset()、isnull()empty()三个函数来做if判断,那这三个函数到底有什么不同呢? 在php中经常会用isset()、is_null()empty()三个函数来做if判断,那这三个函数到底有什么不同呢?下面通过官方文档对这三个函数的解释来说说他们的区别(PHP版本:7.3.4nts)一、isset()函数函数形式:isset(mixed$va...

weixin_34357833的博客 717

phpissetempty,PHP中的isset()empty()区别....

php中的判断变量的函数isset()empty()经常容易搞混,今天无事网上搜索点资料整理了一下下,当做笔记记录下来,以方便以后再在这个问题上蒙圈的时候还可以翻出来查看一下下。。。isset()函数作用:一般用来检测变量是否设置若变量不存在则返回 FALSE若变量存在且其值为NULL,也返回 FALSE若变量存在且值不为NULL,则返回 TURE同时检查多个变量时,每个单项都符合上一条要求时才...

weixin_39916681的博客 142

PHP手册中empty()isset()的解释区别

empty (PHP 4, PHP 5) empty — 检查一个变量是否为空 说明 bool empty ( mixed $var ) 如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var;以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRU

aslackers的专栏 570

phpisset()empty()函数的区别

PHP宝典@TOC phpisset()empty()函数的区别 从今天起,在程序员的道路上走得越来越扎实了,有一些小的问题知识,我将会采用小文章纪录下来,那么第一篇文章就从这两个函数来说起吧! isset() 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体...

chen1194796515的博客 260
上一篇: PHP 中 9 大缓存技术总结
下一篇: 单播,广播,组播
chentang1007
博客等级 码龄9年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值