PHP NULL合体演算子

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

NULL 合体演算子は変数が存在するかどうかを判断し、値が NULL でない場合は独自の値を返し、そうでない場合は 2 番目のオペランドを返します。

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

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

これを直接記述します:

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

<?php
// 获取 $_GET['site'] 的值,如果不存在返回 'php中文网'
$site = $_GET['site'] ?? 'php中文网';
print($site);
echo "<br/>";
print(PHP_EOL); // PHP_EOL 为换行符
// 以上代码等价于
$site = isset($_GET['site']) ? $_GET['site'] : 'php中文网';
print($site);
echo "<br/>";
print(PHP_EOL);
// ?? 链
$site = $_GET['site'] ?? $_POST['site'] ?? 'php中文网';
print($site);
?>

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

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