php中两个问号是php7新推出的一个NULL合并运算符??,其使用方法如“$username = $_GET['user'] ?? 'nobody';”。

本文操作环境:Windows7系统、PHP7.1版、Dell G3电脑。

php中两个问号是什么意思?

其实两个问号??是php7新推出的表达式:

在 PHP7+ 版本多了一个 NULL 合并运算符 ??,实例如下:

实例

<?php
// 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
$username = $_GET['user'] ?? 'nobody';
// 类似的三元运算符
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
?>

php7以前经常使用到三元运算表达式:

三元运算符:

另一个条件运算符是"?:"(或三元)运算符 。

语法格式

(expr1) ? (expr2) : (expr3)

对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。


php中两个问号是什么意思