如果你想要一個空字符串默認那麼首選方法是這些(根據您的需要)之一:
$str_value = strval($_GET['something']);
$trimmed_value = trim($_GET['something']);
$int_value = intval($_GET['somenumber']);
如果URL參數something
並不在URL中存在然後$_GET['something']
將返回null
strval($_GET['something'])
- >strval(null)
- >""
和你的變量$value
設爲一個空的字符串。
trim()
可能超過strval()
根據代碼者優先(如名稱參數可能希望使用它)
intval()
如果只是數值預計,默認值是零。 intval(null)
- >0
情況來考慮:
...&something=value1&key2=value2
(典型值)
...&key2=value2
(參數從網址$ _GET失蹤將返回null吧)
...&something=+++&key2=value
(參數" "
)
爲什麼這是首選的a pproach:
- 它適合在一條線上,並清楚發生了什麼事情。
- 這是可讀比複製/粘貼錯誤的
$value = isset($_GET['something']) ? $_GET['something'] : '';
- 降低風險或一個錯字:
$value=isset($_GET['something'])?$_GET['somthing']:'';
- 這是與舊的和新的PHP兼容。
更新 嚴格模式可能需要這樣的事情:
$str_value = strval(@$_GET['something']);
$trimmed_value = trim(@$_GET['something']);
$int_value = intval(@$_GET['somenumber']);
相關http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol- mean-in-php – Musa
可能的重複[什麼是PHP? :運算符調用,它是做什麼的?](http://stackoverflow.com/questions/1080247/what-is-the-php-operator-called-and-what-does-it-do) – Niko