在php中,三元运算符和空合并运算符之间的区别是什么?

王林
王林 转载
2023-08-20 11:22:02 821浏览

在php中,三元运算符和空合并运算符之间的区别是什么?

三元运算符

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

语法

(condition) ? expression1 : expression2;

等价表达式

if(condition) {
   return expression1;
}
else {
   return expression2;
}

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

空合并运算符

空合并运算符用于在变量为空时提供非空值。

语法

(variable) ?? expression;

等价表达式

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

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

示例

<!DOCTYPE html>
<html>
<head>
   <title>PHP Example</title>
</head>
<body>
   <?php
      // fetch the value of $_GET['user'] and returns 'not passed'
      // if username is not passed
      $username = $_GET['username'] ?? 'not passed';
      print($username);
      print("<br/>");
      // Equivalent code using ternary operator
      $username = isset($_GET['username']) ? $_GET['username'] : 'not passed';
      print($username);
      print("<br/>");
   ?>
</body>
</html>

输出

not passed
not passed

以上就是在php中,三元运算符和空合并运算符之间的区别是什么?的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除