3分钟短文 | PHP判断null,别再 == 了,你真控制不住

3分钟短文 | PHP判断null,别再 == 了,你真控制不住今天我们说一下判断 null 的两种方法的区别 因为 PHP 是脚本语言 其数据类型动态指定 那么有必要梳理一下各种空值在做运算时候的返回值了 特别需要指出的是 empty 函数相当于 null 而 is null 相当于 nul

欢迎大家来到IT世界,在知识的湖畔探索吧!

引言

PHP 程序中很多地方会用到判断是否为空,比如字符串为空,数组为空,对象为空,或者其他数据类型为默认空值。

3分钟短文 | PHP判断null,别再 == 了,你真控制不住



欢迎大家来到IT世界,在知识的湖畔探索吧!

今天我们说一下判断 null 的两种方法的区别。一般可以使用 is_null 函数,判断变量是否是 null,还可以使用 === null 判断是否与 null 值绝对相等。

这两者有什么区别呢?

学习时间

比如有一个 if 语句要判断某个变量是否为 null,有下面两种写法:

if (is_null($var)) do_something(); if ($var === null) do_something();

欢迎大家来到IT世界,在知识的湖畔探索吧!

到底哪种方式更优,效率更高?

这里有个前提,只要是变量经过初始化,两种方式相同。只不过,is_null 还要加上函数调用的开销,而 === 则直接执行条件判断操作,效率更高。

===用于严格的数据比较。NULL只有一个“值”,因此可以与NULL(这是null“值”的PHP常量)进行比较。

is_null 正在检查变量是否为NULL数据类型。

因为PHP是脚本语言,其数据类型动态指定,那么有必要梳理一下各种空值在做运算时候的返回值了:

3分钟短文 | PHP判断null,别再 == 了,你真控制不住

特别需要指出的是,empty 函数相当于 == null,而 is_null 相当于 === null,后者比较更为严格。

而 isset 函数是 is_null / === null 的反向操作。

深入学习

实际编程中我们倾向于使用 is_null 函数,因为这样写程序更容易读。比如在较为流行的 Laravel 框架内,就是用了大量的 is_null 函数。比如用户对象判断为null。

欢迎大家来到IT世界,在知识的湖畔探索吧!if (! is_null($this->user)) { return $this->user; } 

比如对模型判断为空,则创建新的对象:

protected function newModelQuery($model = null) { return is_null($model) ? $this->createModel()->newQuery() : $model->newQuery(); }

还有一个原因是,is_null 作为函数,可以方便地作为回调函数引用。比如对数组内所有元素做非 null 过滤。

欢迎大家来到IT世界,在知识的湖畔探索吧!$arrayOfNullValues = array_filter($myArray, 'is_null');

写在最后

本文介绍了PHP判断是否为 null 的两种方式,希望大家能够熟练使用,写出更优雅健壮的代码。

Happy coding :_)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/143257.html

(0)
上一篇 57分钟前
下一篇 47分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信