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 中的输出缓冲
Dec 21 PHP
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 PHP
PHP开发不能违背的安全规则 过滤用户输入
May 01 PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 PHP
ThinkPHP入口文件设置及相关注意事项分析
Dec 05 PHP
Laravel 5 框架入门(三)
Apr 09 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
Apr 17 PHP
php提高网站效率的技巧
Sep 29 PHP
CI框架数据库查询之join用法分析
May 18 PHP
你不知道的文件上传漏洞php代码分析
Sep 29 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
May 27 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
第十五节--Zend引擎的发展
2006/11/16 PHP
浅析PHP中Collection 类的设计
2013/06/21 PHP
php实现发送微信模板消息的方法
2015/03/07 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
jQuery 1.0.4 - New Wave Javascript(js源文件)
2007/01/15 Javascript
推荐30个新鲜出炉的精美 jQuery 效果
2012/03/26 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
JavaScript 中Date对象的格式化代码方法汇总
2017/09/06 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
JavaScript面试出现频繁的一些易错点整理
2018/03/29 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
python标准算法实现数组全排列的方法
2015/03/17 Python
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
通息工程毕业生自荐信
2013/10/16 职场文书
机关作风建设心得体会
2014/10/22 职场文书
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python