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
mayfish 数据入库验证代码
Apr 30 PHP
php学习笔记 [预定义数组(超全局数组)]
Jun 09 PHP
PHP 使用pcntl和libevent 实现Timer功能
Oct 27 PHP
php利用新浪接口查询ip获取地理位置示例
Jan 20 PHP
async和DOM Script文件加载比较
Jul 20 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
Mar 27 PHP
服务器迁移php版本不同可能诱发的问题
Dec 22 PHP
Yii CDBCriteria常用方法实例小结
Jan 19 PHP
详解Yii2高级版引入bootstrap.js的一个办法
Mar 21 PHP
Yii2框架redis基本应用示例
Jul 13 PHP
laravel 根据不同组织加载不同视图的实现
Oct 14 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 Directory 函数的详解
2013/03/07 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
PHP-FPM运行状态的实时查看及监控详解
2016/11/18 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
jquery构造器的实现代码小结
2011/05/16 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
Angular中的Promise对象($q介绍)
2015/03/03 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
layui select获取自定义属性方法
2018/08/15 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
Python实现模拟分割大文件及多线程处理的方法
2017/10/10 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
美术教学感言
2014/02/22 职场文书
财产公证书格式
2014/04/10 职场文书
爱护公共设施标语
2014/06/24 职场文书
Linux安装apache服务器的配置过程
2021/11/27 Servers
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL