PHP判断数组是否为空的常用方法(五种方法)


Posted in PHP onFebruary 08, 2017

本文介绍了PHP开发中遇到的数组问题,这里介绍了判断PHP数组为空的5种方法,有需要的朋友可以借鉴参考一下。

1. isset功能:判断变量是否被初始化

说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过

注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右

<?php
$a = '';
$a['c'] = '';
if (!isset($a)) echo '$a 未被初始化' . "";
if (!isset($b)) echo '$b 未被初始化' . "";
if (isset($a['c'])) echo '$a 已经被初始化' . "";
// 显示结果为
// $b 未被初始化
// $a 已经被初始化

2. empty功能:检测变量是否为”空”

说明:任何一个未初始化的变量、值为 0 或 false 或 空字符串”” 或 null的变量、空数组、没有任何属性的对象,都将判断为empty==true

注意1:未初始化的变量也能被empty检测为”空”

注意2:empty只能检测变量,而不能检测语句

<?php
$a = 0;
$b = '';
$c = array();
if (empty($a)) echo '$a 为空' . "";
if (empty($b)) echo '$b 为空' . "";
if (empty($c)) echo '$c 为空' . "";
if (empty($d)) echo '$d 为空' . "";

3. var == null功能:判断变量是否为”空”

说明:值为 0 或 false 或 空字符串”” 或 null的变量、空数组、都将判断为 null

注意:与empty的显著不同就是:变量未初始化时 var == null 将会报错。

<?php
$a = 0;
$b = array();
if ($a == null) echo '$a 为空' . "";
if ($b == null) echo '$b 为空' . "";
if ($c == null) echo '$b 为空' . "";
// 显示结果为
// $a 为空
// $b 为空
// Undefined variable: c

4. is_null功能:检测变量是否为”null”

说明:当变量被赋值为”null”时,检测结果为true

注意1:null不区分大小写:$a = null; $a = NULL 没有任何区别

注意2:仅在变量的值为”null”时,检测结果才为true,0、空字符串、false、空数组都检测为false

注意3:变量未初始化时,程序将会报错

<?php
$a = null;
$b = false;
if (is_null($a)) echo '$a 为NULL' . "";
if (is_null($b)) echo '$b 为NULL' . "";
if (is_null($c)) echo '$c 为NULL' . "";
// 显示结果为
// $a 为NULL
// Undefined variable: c

5. var === null功能:检测变量是否为”null”,同时变量的类型也必须是”null”

说明:当变量被赋值为”null”时,同时变量的类型也是”null”时,检测结果为true

注意1:在判断为”null”上,全等于和is_null的作用相同

注意2:变量未初始化时,程序将会报错

总结:

PHP中,”NULL” 和 “空” 是2个概念。

isset 主要用来判断变量是否被初始化过

empty 可以将值为 “假”、”空”、”0″、”NULL”、”未初始化” 的变量都判断为TRUE

is_null 仅把值为 “NULL” 的变量判断为TRUE

var == null 把值为 “假”、”空”、”0″、”NULL” 的变量都判断为TRUE

var === null 仅把值为 “NULL” 的变量判断为TRUE

注意:在判断一个变量是否真正为”NULL”时,大多使用 is_null,从而避免”false”、”0″等值的干扰。

以上所述是小编给大家介绍的PHP判断数组是否为空的常用方法(五种方法),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP输出控制功能在简繁体转换中的应用
Oct 09 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
Aug 02 PHP
如何使用php判断所处服务器操作系统的类型
Jun 20 PHP
php字符串截取的简单方法
Jul 04 PHP
百度站点地图(百度sitemap)生成方法分享
Jan 09 PHP
php实现从上传文件创建缩略图的方法
Apr 02 PHP
php生成rss类用法实例
Apr 14 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
PHP扩展开发教程(总结)
Nov 04 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 #PHP
PHP输出XML格式数据的方法总结
Feb 08 #PHP
PHP中大括号'{}'用法实例总结
Feb 08 #PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 #PHP
php实现连接access数据库并转txt写入的方法
Feb 08 #PHP
php unicode编码和字符串互转的方法
Aug 12 #PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 #PHP
You might like
把77A收信机改造成收音机
2021/03/02 无线电
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
flash 得到自身url参数的代码
2009/11/15 Javascript
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
2012/01/13 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
原生js实现jquery函数animate()动画效果的简单实例
2016/08/21 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
BetterScroll 在移动端滚动场景的应用
2017/09/18 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
js布局实现单选按钮控件
2020/01/17 Javascript
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
Python random模块用法解析及简单示例
2017/12/18 Python
python opencv实现图像边缘检测
2019/04/29 Python
python整合ffmpeg实现视频文件的批量转换
2019/05/31 Python
opencv3/C++ 平面对象识别&amp;透视变换方式
2019/12/11 Python
python标识符命名规范原理解析
2020/01/10 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
简单租房协议书
2014/10/21 职场文书
2014年小学图书室工作总结
2014/12/09 职场文书
限期整改通知书
2015/04/22 职场文书
保护地球的宣传语
2015/07/13 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书
500字作文之难忘的同学
2019/12/20 职场文书
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL