PHP NULL 合併運算符

PHP 7 新特性 PHP 7 新特性

PHP 7 新增加的 NULL 合併運算符(??)是用於執行isset()檢測的三元運算的快捷方式。

NULL 合併運算符會判斷變數是否存在且值不為NULL,如果是,它就會返回自身的值,否則返回它的第二個運算元。

以前我們這樣寫三元運算符:

$site = isset($_GET['site']) ? $_GET['site'] : 'IT研修';

現在我們可以直接這樣寫:

$site = $_GET['site'] ?? 'IT研修';

實例

<?php
// 獲取 $_GET['site'] 的值,如果不存在返回 'IT研修'
$site = $_GET['site'] ?? 'IT研修';

print($site);
print(PHP_EOL); // PHP_EOL 為換行符


// 以上代碼等價於

$site = isset($_GET['site']) ? $_GET['site'] : 'IT研修';

print($site);
print(PHP_EOL);
// ?? 鏈

$site = $_GET['site'] ?? $_POST['site'] ?? 'IT研修';

print($site);
?>

以上程式執行輸出結果為:

IT研修
IT研修
IT研修

PHP 7 新特性 PHP 7 新特性