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 相关文章推荐
工厂模式在Zend Framework中应用介绍
Jul 10 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
ajax返回值中有回车换行、空格的解决方法分享
Oct 24 PHP
实现获取http内容的php函数分享
Feb 16 PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 PHP
完美解决thinkphp验证码出错无法显示的方法
Dec 09 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
Dec 17 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 PHP
PHP实现RTX发送消息提醒的实例代码
Jan 03 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
Apr 01 PHP
php适配器模式简单应用示例
Oct 23 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
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
一步一步学习PHP(8) php 数组
2010/03/05 PHP
ThinkPHP页面跳转success与error方法概述
2014/06/25 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
jquery 取子节点及当前节点属性值
2014/07/25 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
谈谈JS中的!!
2017/12/07 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
python实现目录树生成示例
2014/03/28 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
python3实现随机数
2018/06/25 Python
Python面向对象类的继承实例详解
2018/06/27 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
django商品分类及商品数据建模实例详解
2020/01/03 Python
使用Tensorflow实现可视化中间层和卷积层
2020/01/24 Python
Python常用数据分析模块原理解析
2020/07/20 Python
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
幼儿运动会邀请函
2014/01/17 职场文书
现场活动策划方案
2014/08/22 职场文书
工作会议通知
2015/04/15 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers