【问题标题】:What does this php operator do? [duplicate]这个 php 操作符是做什么的? [复制]
【发布时间】:2018-10-24 05:19:07
【问题描述】:
$serial = ($_SERVER['SSL_CLIENT_M_SERIAL'] ?? false);

它看起来有点像三元组。但为此我会预料到:

$serial = $_SERVER['SSL_CLIENT_M_SERIAL'] ?  $_SERVER['SSL_CLIENT_M_SERIAL'] : false

也许它是速记,但很难找到一个链接来确认。我在 php4 遗留代码中找到了 sn-p。

(注意这是php而不是c#)

【问题讨论】:

  • “但很难找到要确认的链接” - 在 Google 中输入“php 双问号”会立即将您带到重复项……
  • 谢谢,知道要搜索什么是成功的一半。我在尝试“???”而不是'双问号

标签: php


【解决方案1】:

如果

    if null

a link ps:不客气,感谢负2,很多语言都使用这个,尤其是swift

【讨论】:

  • 说真的为什么要在 12 秒内正确回答问题的双减号?
  • 1) 如果它是重复的,请投票关闭作为重复。 2)“如果为空怎么办”是一个糟糕的答案。
  • What does this php operator do? ... it's what to do if if null
【解决方案2】:

我在php4遗留代码中找到了sn-p

这很奇怪。据我所知,it was added in PHP 7

来自文档:

已添加空合并运算符 (??) 作为语法糖,用于需要将三元组与 isset() 结合使用的常见情况。如果存在且不为 NULL,则返回其第一个操作数;否则返回第二个操作数。

【讨论】:

  • 你是对的,它是遗留代码,但这一行是较新的。谢谢。
猜你喜欢
  • 2014-03-23
  • 2022-01-05
  • 2014-01-28
  • 2012-05-22
  • 2013-02-25
  • 1970-01-01
  • 1970-01-01
  • 2017-08-01
相关资源
最近更新 更多