PHP7新特性系列
1. PHP7新特性之一【类型声明】 2. PHP7新特性之二 【NULL 值双问号运算符】 3. PHP 7新特性之三【大于等于小于组合比较符】 4. PHP 7新特性之四【 常量数组】 5. PHP7新特性之五【可以创建匿名类】 6. PHP7新特性之六【call 闭包调用】 7. PHP7新特性之七【国家化支持】 8. PHP7新特性之八【Error异常】

PHP7新特性之二 【NULL 值双问号运算符】

PHP 7 新增加的 NULL 合并运算符(??)是用于执行isset()检测的三元运算的快捷方式。

NULL 合并运算符会判断变量是否存在且值不为NULL,如果是,它就会返回自身的值,否则返回它的第二个操作数。

以前我们这样写三元运算符:


$site = isset($_GET['site']) ? $_GET['site'] : '五五教程网';

现在我们可以直接这样写:


$site = $_GET['site'] ?? '五五教程网';

实例


<?php

// 获取 $_GET['site'] 的值,如果不存在返回 '五五教程网'

$site = $_GET['site'] ?? '五五教程网';



print($site);

print(PHP_EOL); // PHP_EOL 为换行符





// 以上代码等价于

$site = isset($_GET['site']) ? $_GET['site'] : '五五教程网';



print($site);

print(PHP_EOL);

// ?? 链

$site = $_GET['site'] ?? $_POST['site'] ?? '五五教程网';



print($site);

?>

以上程序执行输出结果为: