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版(1)
Oct 09 PHP
提高PHP编程效率的53个要点(经验小结)
Sep 04 PHP
工厂模式在Zend Framework中应用介绍
Jul 10 PHP
解析php中如何调用用户自定义函数
Aug 06 PHP
php 购物车完整实现代码
Jun 05 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
Yii中CGridView禁止列排序的设置方法
Jul 12 PHP
Yii控制器中filter过滤器用法分析
Jul 15 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
简述php环境搭建与配置
Dec 05 PHP
简单谈谈PHP面向对象之标识对象
Jun 27 PHP
PHP实现数据库的增删查改功能及完整代码
Apr 18 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
php上传文件常见问题总结
2015/02/03 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
JS类的封装及实现代码
2009/12/02 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
jQuery中first()方法用法实例
2015/01/06 Javascript
jquery中one()方法的用法实例
2015/01/16 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
jQuery.Form上传文件操作
2017/02/05 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
简单实现jquery隔行变色
2017/11/09 jQuery
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
Vue 中如何正确引入第三方模块的方法步骤
2019/05/05 Javascript
JS学习笔记之原型链和利用原型实现继承详解
2019/05/29 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
prettier自动格式化去换行的实现代码
2020/08/25 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
使用Python实现一个简单的项目监控
2015/03/31 Python
Python与Redis的连接教程
2015/04/22 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
Python实现繁体中文与简体中文相互转换的方法示例
2018/12/18 Python
Python使用进程Process模块管理资源
2020/03/05 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
政风行风整改报告
2014/11/06 职场文书
同事打架检讨书
2015/05/06 职场文书
军训后的感想
2015/08/07 职场文书
队列队形口号
2015/12/25 职场文书
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript