当PHP7引入的"??"和"?:"这两个操作符都用于在特定情况下进行短路求值,以简化代码并提高性能。
- ??操作符
"??"操作符表示当左边的操作数为空或未定义时,使用右侧的默认值。例如,以下代码片段展示了如何使用"?"?"操作符:
$username = $_GET['username'] ?? 'Anonymous';
echo $username;
在上面的代码中,我们首先检查$_GET['username']是否已设置。如果设置,则将其赋值给$username。否则,将使用"Anonymous"作为默认值。因此,如果您使用以下URL调用上面的脚本:
http://example.com/script.php?username=JohnDoe
上述代码将输出JohnDoe。如果您使用以下URL调用相同的脚本:
http://example.com/script.php
上述代码将输出Anonymous。
- ?:操作符
"?:"操作符用于类似于if-else语句的条件语句。要使用"?"进行简单的if-else语句,请将其添加到表达式的结尾。例如,以下代码片段展示了如何使用"?:"操作符:
$a = 5;
$result = ($a > 10) ? 'greater than 10' : 'less than or equal to 10';
echo $result;
在上面的代码中,我们首先将$a的值设置为5。我们然后使用"?"操作符将条件添加到$result的赋值语句中。如果$a的值大于10,则将$result设置为"greater than 10"。否则,$result将设置为"less than or equal to 10"。因此,上面的代码将输出"less than or equal to 10"。
除了简化语法和提高代码阅读性之外,"??"和"?:"操作符还可以帮助提高代码的性能,因为它们使代码更加紧凑,从而减少了要执行的操作的数量。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP7引入的”??”和”?:”的区别讲解 - Python技术站