[英]'@' symbol in php, e.g. '@$name[1]'?
所有,
PHP中“ @”符號的含義是什么? 例如,此語句表示什么意思:
$sd = (@$argv[1]) ? getdate(strtotime($argv[1])) : getdate();
我了解三元運算符'?',但不知道'@'是什么意思...
該代碼是(非常好!)cs75.net哈佛擴展課程的示例代碼。
謝謝,
JDelage
@
抑制來自表達式的任何錯誤消息,即是否設置了E_NOTICE
$argv = Array("Only one object.");
if ($argv[1]) { print "Argv[1] set"; }
會引起警告,但是
$argv = Array("Only one object.");
if (@$argv[1]) { print "Argv[1] set"; }
根本不會打印任何東西。
不過請記住,使用它是更好的做法
if (!empty($var)) { print "Argv[1] is set and non-false."; }
代替。
對於那些無法檢查$argv[1]
並不想看到警告告訴他多么懶惰的程序員來說,這是一個解決方案。 也稱為錯誤抑制 。
其他人解釋說@
禁止顯示錯誤消息。 來自Ilia Alshanetsky關於“ PHP和性能”的演講的有趣事實:
錯誤阻止運算符是PHP字母表中最昂貴的字符。 這個看似無害的運算符實際上在后台執行相當密集的操作:
$old = ini_set("error_reporting", 0);
action();
ini_set("error_reporting", $old);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.