详解PHP中的null合并运算符

(编辑:jimmy 日期: 2025/6/29 浏览:2)

null合并运算符是一个好东西,有了它我们就能很方便的获取一个参数,并能在其为空的情况下提供一个默认值。比如在js中可以用||来搞:

function setSomething(a){
  a = a || 'some-default-value';
  // ...
}

而在PHP中,可惜PHP的||总是返回true或false,无法这样来搞。

 PHP7才正式加入了"htmlcode">

// 获取user参数的值(如果为空,则用'nobody')
$username = $_GET['user'] "htmlcode">
// 获取user参数的值(如果为空,则用'nobody')
$username = @$_GET['user'] "https://3v4l.org/aDUW8">https://3v4l.org/aDUW8

瞪大了眼睛看,跟前面的PHP7的例子差不多,主要是把 "http://php.net/manual/zh/language.operators.comparison.php">http://php.net/manual/zh/language.operators.comparison.php

当然,这个替代方案也不是完美的 —— 如果 $_GET 中没有 'user',会有一条 Notice: Undefined index: user 的错误,所以需要用@来抑制这个错误,或者关闭 E_NOTICE 的错误。

ps:PHP7 null合并运算符 告别isset()

以前的写法

$info = isset($_GET['email']) "htmlcode">
$info = $_GET['email'] "htmlcode">
$info = $_GET['email'] ?? $_POST['email'] ?? ‘noemail';

Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。