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 strtok()函数的优点分析
Mar 02 PHP
PHP执行linux系统命令的常用函数使用说明
Apr 27 PHP
PHP查询MySQL大量数据的时候内存占用分析
Jul 22 PHP
php适配器模式介绍
Aug 14 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
Apr 10 PHP
php实现Session存储到Redis
Nov 11 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
Apr 01 PHP
如何正确配置Nginx + PHP
Jul 15 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
thinkPHP5.0框架应用请求生命周期分析
Mar 25 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
php实现的mongoDB单例模式操作类
Jan 20 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
Codeigniter注册登录代码示例
2014/06/12 PHP
php 的反射详解及示例代码
2016/08/25 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
html读出文本文件内容
2007/01/22 Javascript
JavaScript之自定义类型
2012/05/04 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
2013/02/05 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
PHP守护进程实例
2015/03/06 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
详解node.js平台下Express的session与cookie模块包的配置
2017/04/26 Javascript
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
Vue.js添加组件操作示例
2018/06/13 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
Django之模型层多表操作的实现
2019/01/08 Python
python实现简单五子棋游戏
2019/06/18 Python
Python 使用元类type创建类对象常见应用详解
2019/10/17 Python
解决Python使用列表副本的问题
2019/12/19 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
会计系毕业个人自荐信格式
2013/09/23 职场文书
通用求职信范文模板分享
2013/12/27 职场文书
《尊严》教学反思
2014/02/11 职场文书
捐款感谢信
2015/01/20 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书