@在带有逻辑or赋值的php变量前面

@在带有逻辑or赋值的php变量前面,php,Php,下面的@是什么意思?在这种情况下,$http_url是空的还是空的,如果是,我们给它分配了一个变量 @$http_url or $http_url = $scheme . '://' . $_SERVER['HTTP_HOST'] . $port . $_SERVER['REQUEST_URI']; 您告诉php忽略

下面的
@
是什么意思?在这种情况下,$http_url是空的还是空的,如果是,我们给它分配了一个变量

@$http_url or $http_url = $scheme .
                              '://' . $_SERVER['HTTP_HOST'] .
                              $port .
                              $_SERVER['REQUEST_URI'];

您告诉php忽略抛出的错误

PHP支持一个错误控制操作符:at符号(@)。什么时候 在PHP中的表达式前面添加任何可能出现的错误消息 将忽略由该表达式生成的


这意味着错误不会显示在屏幕上,一旦产生错误,php解释器就会忽略它。在视图或php文件中直接编写代码(检查次数较少)或使用旧框架时非常有用。

注意:
@
不是符号,符号是
&

@
stfu
操作符。它的目的是抑制错误消息


这是一种非惯用的方式,使用现有的
$http\u url
或在未设置的情况下为其设置默认值(因为如果未设置,PHP将发出未定义变量的通知)。在PHP中很少会看到这种表达式——例如,在JavaScript或Ruby中,这种表达式更为常见,该语言支持这种表达式,而无需修改以抑制E_通知。它相当于类似于
$http_url=!isset($http\uURL)$方案……:$http\uurl