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
奇怪的PHP引用效率问题分析
Mar 23 PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
Jun 17 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
Sep 13 PHP
thinkphp 多表 事务详解
Jun 17 PHP
php对数组排序代码分享
Feb 24 PHP
destoon实现VIP排名一直在前面排序的方法
Aug 21 PHP
PHP+MYSQL中文乱码问题
Jul 01 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
Jul 18 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 PHP
PHP PDO和消息队列的个人理解与应用实例分析
Nov 25 PHP
Memcached介绍及php-memcache扩展安装
Apr 01 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
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
PHP性能优化准备篇图解PEAR安装
2011/12/05 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
php阳历转农历优化版
2016/08/08 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
浅谈javascript中createElement事件
2014/12/05 Javascript
jQuery中removeData()方法用法实例
2014/12/27 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
Python中with及contextlib的用法详解
2017/06/08 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
Python使用MyQR制作专属动态彩色二维码功能
2019/06/04 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
Python扫描端口的实现
2021/01/25 Python
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
缓解脚、腿和背部疼痛:Z-CoiL鞋
2019/03/12 全球购物
Jar包的作用是什么
2014/03/30 面试题
优秀教师主要事迹
2014/02/01 职场文书
新春文艺演出主持词
2014/03/27 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
退伍军人感言
2015/08/01 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL
详解MySql中InnoDB存储引擎中的各种锁
2022/02/12 MySQL
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python