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中国語ネット
php中国語ウェブサイト
php中国語ネット