PHP 7 空合并运算符


在PHP 7中,引入了一个新功能,即 空合并运算符(??) 。它用于替代与isset()函数一起使用的 三元 操作。该 如果它存在,而不是空合并运算符返回第一个操作数; 否则返回第二个操作数。

<?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/>");
   // Chaining ?? operation
   $username = $_GET['username'] ?? $_POST['username'] ?? 'not passed';
   print($username);
?>

它产生以下浏览器输出 -

not passed
not passed
not passed