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 相关文章推荐
使用sockets:从新闻组中获取文章(一)
Oct 09 PHP
PHP 5.0对象模型深度探索之类的静态成员
Mar 27 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
Jul 05 PHP
PHP 文件扩展名 获取函数
Jun 03 PHP
IP138 IP地址查询小偷实现代码
Feb 15 PHP
逆序二维数组插入一元素的php代码
Jun 08 PHP
基于header的一些常用指令详解
Jun 06 PHP
PHP使用CURL获取302跳转后的地址实例
May 04 PHP
浅析php单例模式
Nov 25 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
php实现将HTML页面转换成word并且保存的方法
Oct 14 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效率,提高php性能的一些方法
2011/03/24 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
2011/11/27 PHP
php中并发读写文件冲突的解决方案
2013/10/25 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
javascript字符串拼接的效率问题
2010/12/25 Javascript
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
js仿淘宝和百度文库的评分功能
2016/05/15 Javascript
jquery select2的使用心得(推荐)
2016/12/04 Javascript
JS返回只包含数字类型的数组实例分析
2016/12/16 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
[00:32]2018DOTA2亚洲邀请赛iG出场
2018/04/03 DOTA
python使用arcpy.mapping模块批量出图
2017/03/06 Python
浅谈五大Python Web框架
2017/03/20 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
python判断输入日期为第几天的实例
2018/11/13 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
Python面向对象之Web静态服务器
2019/09/03 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
django rest framework 过滤时间操作
2020/07/12 Python
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
普天C++笔试题
2016/03/20 面试题
2014学雷锋活动总结
2014/03/09 职场文书
医学检验专业自荐信
2014/09/18 职场文书
2015年党风廉政承诺书
2015/01/22 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
教师研修随笔感言
2015/11/18 职场文书