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实现mysql数据库备份类
Mar 20 PHP
PHP中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
Jun 03 PHP
php动态生成函数示例
Mar 21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
apache和PHP如何整合在一起
Oct 12 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
Docker配置PHP开发环境教程
Dec 21 PHP
PHP多进程编程实例详解
Jul 19 PHP
PHP获取星期几的常用方法小结
Dec 18 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
Mar 04 PHP
使用php的mail()函数实现发送邮件功能
Jun 03 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邮箱地址正则表达式验证
2015/11/13 PHP
Smarty模板简单配置与使用方法示例
2016/05/23 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
js切换光标示例代码
2013/10/10 Javascript
js出生日期 年月日级联菜单示例代码
2014/01/10 Javascript
浅谈javascript面向对象程序设计
2015/01/21 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
jQuery实现查找链接文字替换属性的方法
2016/06/27 Javascript
微信小程序 跳转方式总结
2017/04/20 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
简单了解JS打开url的方法
2020/02/21 Javascript
Vue vm.$attrs使用场景详解
2020/03/08 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
linux系统使用python获取cpu信息脚本分享
2014/01/15 Python
Python编写一个闹钟功能
2017/07/11 Python
简单实现python数独游戏
2018/03/30 Python
python实现汉诺塔算法
2021/03/01 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
Python通过Tesseract库实现文字识别
2020/03/05 Python
使用 Python 读取电子表格中的数据实例详解
2020/04/17 Python
Python如何读写二进制数组数据
2020/08/01 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
美国保健品专家:Life Extension
2018/05/04 全球购物
比较一下entity bean和session bean
2013/12/27 面试题
初中地理教学反思
2014/01/11 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
施工员岗位职责
2014/03/16 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书