PHP7 Null合併運算子


在PHP7,一個新的功能,空合併運算子(??)已被引入。它被用來代替三元運算並與 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