繁体   English   中英

If 语句带有一个等号和两个问号 - PHP

[英]If statement With One equals sign and Two Question Marks - PHP

看看 Symfony 中的 index.php 页面 4. 只是想知道是否有人可以澄清这是什么意思?

if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) {
    Request::setTrustedHosts([$trustedHosts]);
}

我认为这相当于以下但不确定谢谢。

if(isset( $_SERVER['TRUSTED_HOSTS'] )){

   $trustedHosts = $_SERVER['TRUSTED_HOSTS'];
   Request::setTrustedHosts([$trustedHosts]);
  
}

它相当于:

$trustedHosts = isset($_SERVER['TRUSTED_HOSTS']) ? $trustedHosts : false;
if ($trustedHosts) {
    Request::setTrustedHosts([$trustedHosts]);
}

不同之处在于,您的重写仅在设置$_SERVER['TRUSTED_HOSTS']时设置$trustedHosts 但实际代码始终设置变量,如果未设置$_SERVER元素,则为其提供默认值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM