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后台多用户权限组思路与实现程序代码分享
Feb 13 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
Jun 12 PHP
PHP邮件发送类PHPMailer用法实例详解
Sep 22 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
理解php依赖注入和控制反转
May 11 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
PHP/HTML混写的四种方式总结
Feb 27 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 PHP
PHP长网址与短网址的实现方法
Oct 13 PHP
php图片裁剪函数
Oct 31 PHP
php实现记事本案例
Oct 20 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
获取URL文件名后缀
2013/10/24 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
JS宝典学习笔记(下)
2007/01/10 Javascript
Prototype源码浅析 Enumerable部分之each方法
2012/01/16 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
js三种排序算法分享
2012/08/16 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
JS判断不同分辨率调用不同的CSS样式文件实现思路及测试代码
2013/01/23 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
2013/11/21 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
2015/04/06 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
python安装sklearn模块的方法详解
2020/11/28 Python
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
土木工程应届生求职信
2013/10/31 职场文书
写给女朋友的道歉信
2014/01/12 职场文书
优秀团队获奖感言
2014/02/19 职场文书
环境保护标语
2014/06/20 职场文书
纯html+css实现打字效果
2021/08/02 HTML / CSS