PHP7引入的”??”和”?:”的区别讲解

当PHP7引入的??和?:这两个操作符都用于在特定情况下进行短路求值,以简化代码并提高性能。

PHP7引入的"??"和"?:"这两个操作符都用于在特定情况下进行短路求值,以简化代码并提高性能。

  1. ??操作符

"??"操作符表示当左边的操作数为空或未定义时,使用右侧的默认值。例如,以下代码片段展示了如何使用"?"?"操作符:

$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。

  1. ?:操作符

"?:"操作符用于类似于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引入的”??”和”?:”的区别讲解

基础教程推荐