这个 php 操作符是做啥的? [复制]
Posted
技术标签:
【中文标题】这个 php 操作符是做啥的? [复制]【英文标题】: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 双问号”会立即将您带到重复项…… 谢谢,知道要搜索什么是成功的一半。我在尝试“???”而不是'双问号 【参考方案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,则返回其第一个操作数;否则返回第二个操作数。
【讨论】:
你是对的,它是遗留代码,但这一行是较新的。谢谢。以上是关于这个 php 操作符是做啥的? [复制]的主要内容,如果未能解决你的问题,请参考以下文章