在 PHP7 中,引入了一个新的功能,即空合并运算符( ?? )。由于在 PHP7 项目中存在大量同时使用三元表达式和 isset() 的情况,因此新增的空合并运算符可以用来取代 三元运算 与 isset
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 ,则空合并运算符将返回它的第一个操作数; 否则将返回其第二个操作数。*/ ?>