服务热线
1888888888
作者:文煞发布时间:2024-04-09分类:PHP笔记浏览:180
跟着文煞一起学习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时,可以使用该操作符。其语法为(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合并运算符的实用案例:
<?php // 示例场景 $var1 = null; $var2 = "default value"; // 使用null合并运算符获取$var1的值,如果为null则返回$var2的值 $result = $var1 ?? $var2; // 输出结果 echo $result; // 输出 "default value" // 示例场景2 $var3 = null; $var4 = "default value"; $var5 = "expected value"; // 使用null合并运算符获取$var3的值,如果为null则返回$var4的值,否则返回$var5的值 $result = $var3 ?? $var4 ?? $var5; // 输出结果 echo $result; // 输出 "expected value" ?>
在第一个示例中,我们首先将变量 `$var1` 设置为 `null`,然后使用 `??` 运算符获取 `$var2` 的值作为默认值。因此,输出结果是 "default value"。在第二个示例中,我们首先将变量 `$var3` 设置为 `null`。由于 `$var3` 为 `null`,所以使用 `??` 运算符将返回 `$var4` 的值。由于 `$var4` 的值是 "default value",所以最终结果输出为 "expected value"。如果 `$var4` 的值不为 `null`,则直接返回该值。
使用null合并运算符可以方便地处理空值和默认值的情况,尤其是在需要进行逻辑判断或传递默认值给函数时。它提供了简洁和易于理解的解决方案。
通过使用三元运算符和null合并运算符,我们可以简洁地处理条件判断和null值情况,让代码更加清晰和简洁。希望本篇PHP自学笔记能够帮助您更好地理解和使用这两个操作符。
感谢你能阅读到这里,如果你也是一个PHP小白或者PHP自学者,文煞很热心的邀请你关注“文煞站长笔记网”这个微信公众号,让我们一起在PHP自学之路上互帮互助、讨论进步。
分享:
支付宝
微信