If 语句带有一个等号和两个问号 - PHP
If statement With One equals sign and Two Question Marks - PHP
刚刚查看了 Symfony 4 中的 index.php 页面。只是想知道是否有人可以阐明这意味着什么?
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
元素,则为其赋予默认值。
刚刚查看了 Symfony 4 中的 index.php 页面。只是想知道是否有人可以阐明这意味着什么?
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
元素,则为其赋予默认值。