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
最小化数据传输――在客户端存储数据
Oct 09 PHP
PHP正则的Unknown Modifier错误解决方法
Mar 02 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
Jul 04 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
Sep 10 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
Jul 18 PHP
PHP实现下载远程图片保存到本地的方法
Jun 19 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
ThinkPHP实现的rsa非对称加密类示例
May 29 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
Swoole4.4协程抢占式调度器详解
May 23 PHP
php基于协程实现异步的方法分析
Jul 17 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 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
采用call方式实现js继承
2014/05/20 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
2017/05/26 Javascript
js中的闭包实例展示
2018/11/01 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
[01:07:21]NAVI vs VG Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
python获取糗百图片代码实例
2013/12/18 Python
Python装饰器语法糖
2019/01/02 Python
PyTorch实现AlexNet示例
2020/01/14 Python
基于python实现坦克大战游戏
2020/10/27 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
韩国三星集团旗下时尚品牌官网:SSF SHOP
2016/08/02 全球购物
澳大利亚网上买书:Angus & Robertson
2019/07/21 全球购物
医学检验专业个人求职信范文
2013/12/04 职场文书
室内趣味活动方案
2014/08/24 职场文书
2014年乡镇个人工作总结
2014/12/03 职场文书
2015秋季田径运动会广播稿
2015/08/19 职场文书
python中的plt.cm.Paired用法说明
2021/05/31 Python
nginx安装以及配置的详细过程记录
2021/09/15 Servers