2
PHP7 NULL 合并运算符
Posted by 撒得一地 on 2016年3月26日 in PHP笔记
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); //判断get和post值是否有一个存在 $site = $_GET['site'] ?? $_POST['site'] ?? '技术拉近你我';; print($site); ?>
以上程序执行输出结果为:
技术拉近你我 技术拉近你我 技术拉近你我
2 Comments
$_GET[‘site’] ?? $_POST[‘site’]
直接使用$_REQUEST[‘site’]不就行了?
是的。