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 相关文章推荐
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
Oct 09 PHP
用PHP的ob_start();控制您的浏览器cache!
Feb 14 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
Apr 24 PHP
PHP session_start()问题解疑(详细介绍)
Jul 05 PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
Dec 15 PHP
PHP中生成UUID自定义函数分享
Jun 10 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
基于PHP实现短信验证码接口(容联运通讯)
Sep 06 PHP
简单谈谈PHP中的trait
Feb 25 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
PHP flush 函数使用注意事项
2016/08/26 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
JavaScript中的包装对象介绍
2015/01/27 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
2015/11/04 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
vue修改vue项目运行端口号的方法
2017/08/04 Javascript
微信小程序实现根据字母选择城市功能
2017/08/16 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
Vue 去除路径中的#号
2018/04/19 Javascript
JavaScript 2018 中即将迎来的新功能
2018/09/21 Javascript
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
Js逆向实现滑动验证码图片还原的示例代码
2020/03/10 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
[01:07]2015国际邀请赛 中国区预选赛精彩回顾
2015/06/15 DOTA
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
Python使用Supervisor来管理进程的方法
2015/05/28 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
Django中自定义admin Xadmin的实现代码
2019/08/09 Python
简单分析python的类变量、实例变量
2019/08/23 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
数百万免费的图形资源:Freepik
2020/09/21 全球购物
理工大学毕业生自荐信
2013/11/01 职场文书
公司年会主持词
2014/03/22 职场文书
大一新生学期自我评价
2014/04/09 职场文书
小学生一分钟演讲稿
2014/08/26 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书