什麼是下面的語句是指
$tmp = @$_GET['myValue'];
可有人請提供有關上述聲明詳細解釋?
什麼是下面的語句是指
$tmp = @$_GET['myValue'];
可有人請提供有關上述聲明詳細解釋?
@符號是錯誤的抑制操作。不建議在任何地方使用它。而且,它比isset()函數慢兩倍。 請參閱http://php.net/manual/en/language.operators.errorcontrol.php
的@ error control操作符的完整參考它將GET參數myValue
的值賦值爲tmp
(如果存在)。如果不是 - 那麼tmp = null
PS:這是一個不好的做法。更好的做法是:
$tmp = isset($_GET['myValue']) ? $_GET['myValue'] : null;
請參閱文檔和示例here。
@ : to avoid warning
$_GET : An associative array of variables passed to the current script via the URL parameters.
myval : parameter
-
例如
http://example.com/?myval=test
echo @$_GET['myval']; will echo test
http://example.com/
echo @$_GET['myval']; will be null
//php 5.4 way is
var_dump(isset($_GET['myValue']) ? : null);