PHP NULL 合併運算符
PHP 7 新增加的 NULL 合併運算子(??)是用於執行isset()偵測的三元運算的捷徑。
NULL 合併運算子會判斷變數是否存在且值不為NULL,如果是,它就會傳回自身的值,否則傳回它的第二個運算元。
以前我們這樣寫三元運算子:
$site = isset($_GET['site']) ? $_GET['site'] : 'php中文网';
現在我們可以直接這樣寫:
$site = $_GET['site'] ?? 'php中文网';
實例
<?php // 获取 $_GET['site'] 的值,如果不存在返回 'php中文网' $site = $_GET['site'] ?? 'php中文网'; print($site); echo "<br/>"; // PHP_EOL 为换行符 // 以上代码等价于 $site = isset($_GET['site']) ? $_GET['site'] : 'php中文网'; print($site); echo "<br/>"; // ?? 链 $site = $_GET['site'] ?? $_POST['site'] ?? 'php中文网'; print($site); ?>
以上程式執行輸出結果為:
php中文网 php中文网 php中文网