php 数组为空时 报错,PHP判断数组是否为空的5大方法

e711073c9d871c5f57d7dcc891812296.png

合肥PHP培训在本文中介绍了PHP开发中遇到的数组问题,这里介绍了判断PHP数组为空的5种方法,有需要的朋友可以借鉴参考一下。

1. isset功能:判断变量是否被初始化

说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过

注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右

$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只能检测变量,而不能检测语句

$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将会报错。

$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:变量未初始化时,程序将会报错

$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″等值的干扰。

知识是需要不断的累积,IT行业的不断发展,你还在考虑什么呢?选择合肥PHP培训,不再孤军奋战,早日完成自己的做IT高薪白领得梦想。合肥达内PHP培训给你一条和别人不一样的路!

【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值