php 中三元运算符和 Null 合并运算符的区别

phpserver side programmingprogramming

三元运算符

三元运算符用于将 if else 语句替换为一个语句。

语法

(条件) ? 表达式1 : 表达式2;

等效表达式

if(条件) {
   return 表达式1;
}
else {
   return 表达式2;
}

如果条件为真,则返回表达式1的结果,否则返回表达式2的结果。条件或表达式中不允许使用 void。

空合并运算符

空合并运算符用于在变量为空的情况下提供非空值。

语法

(variable) ?? expression;

等效表达式

if(isset(variable)) {
   return variable;
}
else {
   return expression;
}

如果变量为空,则返回表达式的结果。

示例

<!DOCTYPE html>
<html>
<head>
   <title>PHP Example</title>
</head>
<body>
   <?php
      // 获取 $_GET['user'] 的值并返回"未传递"
      // 如果未传递用户名
      $username = $_GET['username'] ??"未传递";
      print($username);
      print("<br/>");
      // 使用三元运算符的等效代码
      $username = isset($_GET['username']) ? $_GET['username'] : 'not passed';
      print($username);
      print("<br/>");
   ?>
</body>
</html>

输出

not passed
not passed

相关文章