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 相关文章推荐
php缓存技术介绍
Nov 25 PHP
php读取数据库信息的几种方法
May 24 PHP
PHP 表单提交给自己
Jul 24 PHP
PHP用mysql数据库存储session的代码
Mar 05 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
Jun 09 PHP
实现获取http内容的php函数分享
Feb 16 PHP
用php代码限制国内IP访问我们网站
Sep 26 PHP
PHP验证终端类型是否为手机的简单实例
Feb 07 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 PHP
laravel 实现根据字段不同值做不同查询
Oct 23 PHP
Laravel 5+ .env环境配置文件详解
Apr 06 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数组交集的优化代码分析
2011/03/06 PHP
php 的反射详解及示例代码
2016/08/25 PHP
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
JavaScript NaN和Infinity特殊值 [译]
2012/09/20 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
2015/10/08 Javascript
详解Document.Cookie
2015/12/25 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
[53:10]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs VG 第一场
2018/04/11 DOTA
python3图片转换二进制存入mysql
2013/12/06 Python
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
Python读取表格类型文件代码实例
2020/02/17 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
阿联酋航空丹麦官方网站:Emirates DK
2019/08/25 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
医学院学生求职简历的自我评价
2013/10/24 职场文书
财务管理专业自荐信范文
2013/12/24 职场文书
清华大学自主招生自荐信
2014/01/29 职场文书
旷课检讨书1000字
2014/02/14 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
公司仓管员岗位职责
2015/04/01 职场文书
欢送领导祝酒词
2015/08/12 职场文书
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL