empty和isset的区别
程序员文章站
2022-06-03 09:14:20
...
相信作为新手的我们,每次用到empty()和isset()时等都会有这样的疑惑:这二者有何区别?什么时候需要用empty()?什么时候用isset()?今天我给大家说说二者的区别,以及二者的应用场景。
1.区别汇总:
区别一:empty()是函数,它具有函数的所有属性,有返回值,可以使用函数返回值作为参数,可以使用动态变量访问等;
isset()是语句,它是php一种固有的逻辑结构,如foreach,for,continue等,无法使用动态变量访问,也无法使用函数返回值作为参数;例子如下:
$a = 'empty'; $a('err');//TRUE empty(intval('1fa'));//FALSE;
区别二:当$a定义后,不论它的值是0,false,null,''等空值,empty()的返回值均为true;isset()的返回值也为TURE,isset只在验证未曾定义的变量时才会返回false;
例如:
$a = 0;//'0',false,null,'','0.0'等空值 empty($a);//true empty('aaa');//false empty($b);//true isset($a);//true isset($b);//false,$b未定义
2.应用场景:
a.当判断一个变量是否定义时,可用isset();
应用:表单提交时用isset($_POST['submit'])的值来判定是否提交表单。
b.当判断一个变量是否为空时(不需要知道其是否赋值),可用empty();
应用:表单验证时,需验证必填项值是否为空。
c.当判断一个变量已经存在且不为空,可先用isset(),再用empty();
应用:文件上传时,需判断$_FILES已赋值,且不为空。
以上就介绍了empty和isset的区别,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
上一篇: php 分页类函数
下一篇: php数组循环输出实现方法
推荐阅读
-
Commonjs规范中module.exports和exports的区别
-
Commonjs规范中module.exports和exports的区别
-
基于Django filter中用contains和icontains的区别(详解)
-
mysql存储方式MyISAM 和 InnoDB的区别
-
python中BackgroundScheduler和BlockingScheduler的区别
-
和燕十八学习PHP-第二十七天-左右内连接的区别
-
浅析ThinkPHP中execute和query方法的区别_PHP教程
-
Java web Filter, Strurs2 Interceptor 和 SpringMVC Interceptor 三者之间的联系与区别
-
文件上传的时候指定路径中的./和/和../的区别
-
SQLserver中字符串查找功能patindex和charindex的区别