[PHP] ??和?:的区别

??是null合并运算符

<?php
// NULL 合并运算符的例子
$action = $_POST['action'] ?? 'default';

// 以上例子等同于于以下 if/else 语句
if (isset($_POST['action'])) {
    $action = $_POST['action'];
} else {
    $action = 'default';
}

如果针对没有定义的,用上面那种

 

?:是三元运算符

如果针对已经定义了,但是想使用empty判断的情况可以使用 ?:

 

$c = $a ?: 1;var_dump($c);

这样会报 undefined

 

开源作品

GO-FLY,一套可私有化部署的免费开源客服系统,安装过程不超过五分钟(超过你打我 !),基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能
github地址:go-fly
官网地址:https://gofly.sopans.com

赞赏作者

微信交流

posted @ 2021-07-17 18:10  陶士涵  阅读(28)  评论(0编辑  收藏  举报