PHP NULL合體演算子

PHP 7 新しく追加されたNULL合體演算子(??)は、isset()で検出された三項演算を?qū)g行するためのショートカットです。

NULL 合體演算子は変數(shù)が存在するかどうかを判斷し、値が NULL でない場合は獨自の値を返し、そうでない場合は 2 番目のオペランドを返します。

以前は次のように三項演算子を記述していました:

$site = isset($_GET['site']) ? $_GET['site'] : 'php Chinese website';

これを直接記述します:

$site = $_GET['site'] ?? 'php Chinese website';

<?php
// 獲取 $_GET['site'] 的值,如果不存在返回 'php中文網(wǎng)'
$site = $_GET['site'] ?? 'php中文網(wǎng)';
print($site);
echo "<br/>";
print(PHP_EOL); // PHP_EOL 為換行符
// 以上代碼等價于
$site = isset($_GET['site']) ? $_GET['site'] : 'php中文網(wǎng)';
print($site);
echo "<br/>";
print(PHP_EOL);
// ?? 鏈
$site = $_GET['site'] ?? $_POST['site'] ?? 'php中文網(wǎng)';
print($site);
?>

上記のプログラムの実行結(jié)果は次のようになります:

php Chinese website
php中國語ウェブサイト
php中國語ネット