PHP7
中,引入了一个新的功能,即空合并运算符(??
)。由于在 PHP7
项目中存在大量同时使用三元表达式和 isset()
的情况,因此新增的空合并运算符可以用来取代三元运算
与 isset ()
函数,如果变量是存在的并且不为 null
,则空合并运算符
将返回它的第一个操作数;否则将返回其第二个操作数。为达到目的有以下三种方式:
1.if.....else语句
<?php
if(isset($_GET['user']))
{
$username = $_GET['user'];
}else{
$username = 'nobody';
}
?>
2.三元运算符:
<?php
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';// 获取user参数的值(如果为空,则用'nobody')
?>
3.空合并运算符:
<?php
$username = $_GET['user'] ?? 'nobody';/*如果变量是存在的并且不为 null ,则空合并运算符将返回它的第一个操作数;
否则将返回其第二个操作数。*/
?>