php零基础入门教程(PHP菜鸟教程:三元运算符(?:)和null合并运算符(??)介绍)

wufei123 发布于 2024-08-18 阅读(20)

跟着文煞一起学习PHP编程,从零基础开始以笔记为引,以实战为主都是自学PHP,没有系统的高深教程,只有零碎的实用笔记今天的笔记内容:介绍PHP中两个比较实用的操作符,分别是三元运算符(?:)和null合并运算符(??)。

一、三元运算符(?:)我对三元运算符(?:)的理解:它是if/else语句的简写形式在使用时,三元运算符的语法为expr1 ?: expr3它的作用是判断expr1是否为true,如果是,则返回expr1,否则返回expr3。

比如下面这个例子:$action=(!empty($_POST[action]))?:default;在上面的代码中,如果$_POST[action]不为空,则$action的值为$_POST[action],否则值为default。

这跟下面的if/else语句是一样的:if(empty($_POST[action])){$action=default;}else{$action=$_POST[action];}这种写法在PHP编程中随处可见,如果在符合判断条件的情况下,需要执行的代码十分简单,就像这个例子中,只是对一个变量的简单定义,我们为什么不用三元运算符的方法的表示呢?毕竟一行代码就能完成这五行代码的工作,大大的精简了PHP脚本的代码,更易于维护代码。

我们再上一个案例代码:// 处理数组的例子$items=[1,2,3,4];$item=(isset($items[2]))?:default;在这个例子中,我们首先检查数组$items中是否存在索引为2的元素,如果存在,则将该元素赋值给变量$item,否则将default赋值给$item。

如果我们使用if/else语句来完成该工作,代码则如下:// 以下等同于以下的 if/else 语句if(isset($items[2])){$item=$items[2];}else{$item=default

;}

二、null合并运算符(??)接下来我们学习null合并运算符(??)当我们需要判断某个表达式是否为null时,可以使用该操作符其语法为(expr1) ?? (expr2),如果expr1为null,则返回expr2,否则返回expr1。

需要注意的是,当expr1不存在时,null合并运算符不会产生警告,与isset()函数类似特别适用于处理数组键的情况下面是一个示例:$action=$_POST[action]??default;在上面的示例中,如果$_POST[action]存在,则$action的值为$_POST[action],否则值为default。

如果写成if/else的语句,代码如下:if(isset($_POST[action])){$action=$_POST[action];}else{$action=default;}由于使用PHP中的null合并运算符(??)时,它是一种用于处理空值或默认值的运算符。

它可以用于在变量为null时返回一个指定的默认值以下是一个使用null合并运算符的实用案例:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。