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 相关文章推荐
Windows下PHP5和Apache的安装与配置
Sep 05 PHP
PHP 选项及相关信息函数库
Dec 04 PHP
echo, print, printf 和 sprintf 区别
Dec 06 PHP
php获取本地图片文件并生成xml文件输出具体思路
Apr 27 PHP
php可生成缩略图的文件上传类实例
Dec 17 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
Oct 18 PHP
thinkPHP模板引擎用法示例
Dec 08 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
Mar 31 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 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得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
PHP读取文件并可支持远程文件的代码分享
2012/10/03 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
微信支付开发交易通知实例
2016/07/12 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
模仿百度三维地图的js数据分享
2011/05/12 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
JS阻止用户多次提交示例代码
2014/03/26 Javascript
实用框架(iframe)操作代码
2014/10/23 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
2014/11/26 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
2019/11/04 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
微信小程序以7天为周期连续签到7天功能效果的示例代码
2020/08/20 Javascript
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
Python解释执行原理分析
2014/08/22 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
《钱学森》听课反思
2014/03/01 职场文书
员工辞职信范文大全
2015/05/12 职场文书
用python画城市轮播地图
2021/05/28 Python
CSS3实现360度循环旋转功能
2022/02/12 HTML / CSS
vue选项卡切换的实现案例
2022/04/11 Vue.js
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers