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脚本的10个技巧(6)
Oct 09 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
php设计模式 Prototype (原型模式)代码
Jun 26 PHP
php中inlcude()性能对比详解
Sep 16 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
Jun 19 PHP
PHP中模拟处理HTTP PUT请求的例子
Jul 22 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
Nov 17 PHP
Joomla语言翻译类Jtext用法分析
May 05 PHP
PHP基本语法实例总结
Sep 09 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
Dec 19 PHP
php求斐波那契数的两种实现方式【递归与递推】
Sep 09 PHP
用php如何解决大文件分片上传问题
Jul 07 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
可以在线执行PHP代码包装修正版
2008/03/15 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
ThinkPHP实现带验证码的文件上传功能实例
2014/11/01 PHP
nicejforms——美化表单不用愁
2007/02/20 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
简介JavaScript中valueOf()方法的使用
2015/06/05 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
JavaScript中的普通函数和箭头函数的区别和用法详解
2017/03/21 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
Vue.js进阶知识点总结
2018/04/01 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
详解javascript函数写法大全
2019/03/25 Javascript
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
2019/05/01 Javascript
Python使用matplotlib绘制动画的方法
2015/05/20 Python
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
Python读取表格类型文件代码实例
2020/02/17 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
ColourPop美国官网:卡拉泡泡,洛杉矶彩妆品牌
2019/04/28 全球购物
入党自荐书范文
2014/03/09 职场文书
2015年财务部工作总结
2015/04/10 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
超级礼物观后感
2015/06/15 职场文书
未婚证明格式
2015/06/15 职场文书
导游词之天津盘山
2019/11/01 职场文书
导游词之江南周庄
2019/12/06 职场文书
mysql 带多个条件的查询方式
2021/06/05 MySQL
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript