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 相关文章推荐
利用 window_onload 实现select默认选择
Oct 09 PHP
最令PHP初学者们头痛的十四个问题
Jan 15 PHP
php Http_Template_IT类库进行模板替换
Mar 19 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
Sep 23 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
Sep 16 PHP
9个经典的PHP代码片段分享
Dec 18 PHP
php中session与cookie的比较
Jan 27 PHP
Redis在Laravel项目中的应用实例详解
Aug 11 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 PHP
Laravel 自定命令以及生成文件的例子
Oct 23 PHP
PHP数组实际占用内存大小原理解析
Dec 11 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 switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
PHP abstract与interface之间的区别
2013/11/11 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
Vue使用v-viewer实现图片预览
2020/10/21 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
django实现模型字段动态choice的操作
2020/04/01 Python
JupyterNotebook 输出窗口的显示效果调整方法
2020/04/13 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
2020/04/23 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
实习销售业务员自我鉴定
2013/09/21 职场文书
物流管理专业大学生自荐信
2013/10/04 职场文书
思想品德自我评价
2014/02/04 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
教室标语大全
2014/06/21 职场文书
文秘自荐信
2014/06/28 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL
Python 数据科学 Matplotlib图库详解
2021/07/07 Python
Python OpenCV实现图像模板匹配详解
2022/04/07 Python