PHP 7 新增加的 NULL 合并運算符(??)是用于執行isset()檢測的三元運算的快捷方式。
NULL 合并運算符會判斷變量是否存在且值不為NULL,如果是,它就會返回自身的值,否則返回它的第二個操作數。
以前我們這樣寫三元運算符:
_GET['site']) ? $_GET['site'] : '菜鳥教程';
現在我們可以直接這樣寫:
_GET['site'] ?? '菜鳥教程';
實例
<?php
// 獲取 $_GET['site'] 的值,如果不存在返回 '菜鳥教程'
$site = $_GET['site'] ?? '菜鳥教程';
print($site);
print(PHP_EOL); // PHP_EOL 為換行符
// 以上代碼等價于
$site = isset($_GET['site']) ? $_GET['site'] : '菜鳥教程';
print($site);
print(PHP_EOL);
// ?? 鏈
$site = $_GET['site'] ?? $_POST['site'] ?? '菜鳥教程';
print($site);
?>