PHP中empty和isset对于参数结构的判断及empty()和isset()的区别


Posted in PHP onNovember 15, 2015

废话不多说了,直接给大家贴代码了。

<?php
  class test{}
  $a1 = null;
  $a2 = "";
  //$a3 =
  $a4 = 0;
  $a5 = '0';
  $a6 = false;
  $a7 = array();
  //var $a8;
  $a9 = new test();
  for ($i=1; $i <=9 ; $i++) {
    $s = 'a'.$i;
    echo $i . ":";
    var_dump(isset($$s));
    echo '<br />';
  }
  echo '<br />';
  for ($i=1; $i <=9 ; $i++) {
    $s = 'a'.$i;
    echo $i . ":";
    var_dump(empty($$s));
    echo '<br />';
  }

PHP中empty和isset对于参数结构的判断及empty()和isset()的区别

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

 对于初学php的人来说,empty()和和isset()用法的区别是很难搞清楚的,他们的用法的差别不仔细去琢磨的话确实很难弄清楚。

先说一下他们的共同点:

都可以判定一个变量是否为空;

都返回boolean类型,即true或false。

下面具体说一下他们用法之间的区别:

isset()用来检测变量是否设置,只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。(注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数)

empty()用来检查一个变量是否为空。

他们之间最大的区别就是对于0的判断,若用empty判断会认为是空,用isset则认为不为空,举个例子:

<?php
     var $a=0;
      //empty($a)返回true
      if(empty($a)){
         echo "判断结果是空"
      }
     //isset($a)返回true
      if(isset($a)){
         echo "判断结果不是空"

      }
    ?>
PHP 相关文章推荐
模仿OSO的论坛(四)
Oct 09 PHP
一周学会PHP(视频)Http下载
Dec 12 PHP
一个PHP模板,主要想体现一下思路
Dec 25 PHP
php后退一页表单内容保存实现方法
Jun 17 PHP
php抓取页面的几种方法详解
Jun 17 PHP
用PHP生成excel文件到指定目录
Jun 22 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
深入解析PHP的Yii框架中的缓存功能
Mar 29 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
Dec 29 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
php操作redis命令及代码实例大全
Nov 19 PHP
php经典算法集锦
Nov 14 #PHP
PHP常用的小程序代码段
Nov 14 #PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 #PHP
PHP实现的一致性哈希算法完整实例
Nov 14 #PHP
PHP使用redis实现统计缓存mysql压力的方法
Nov 14 #PHP
PHP+redis实现添加处理投票的方法
Nov 14 #PHP
PHP实现操作redis的封装类完整实例
Nov 14 #PHP
You might like
PHP 远程关机实现代码
2009/11/10 PHP
PHP 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
PHP生成及获取JSON文件的方法
2016/08/23 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
JavaScript中的History历史对象
2008/01/16 Javascript
jQuery实现的类flash菜单效果代码
2010/05/17 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
bootstrap基本配置_动力节点Java学院整理
2017/07/14 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
webpack4.x打包过程详解
2018/07/18 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
2019/05/20 Javascript
利用js-cookie实现前端设置缓存数据定时失效
2019/06/18 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
python实现定时自动备份文件到其他主机的实例代码
2018/02/23 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
Python实现密码薄文件读写操作
2019/12/16 Python
承认错误的检讨书
2014/01/30 职场文书
小学亲子活动总结
2014/07/01 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
销售合作意向书范本
2015/05/08 职场文书
工作年限证明模板
2015/06/15 职场文书
春季运动会加油词
2015/07/18 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS