当我使用_GET ['here here']变量检查它是否为空时,最好使用
if (isset($_GET['url']) != '') {
//do stuff with it
}
OR
if (isset($_GET['url']) != NULL) {
//do stuff with it
}
''或null或其他什么?
请不要将此称为优化或微优化,我只是在寻找最佳实践,谢谢
答案 0 :(得分:6)
使用empty() - 在测试变量是否存在之前,它实际上是对变量的第一次测试。
[编辑:isset()仅返回TRUE或FALSE,因此上述两个语句同样有效]
答案 1 :(得分:4)
您应该执行以下操作以确保该值既存在又不为空
if(isset($_POST[myField]) && $_POST[myField] != "") {
Do my PHP code
}
答案 2 :(得分:2)
调试空白/丢失/空值检查时,PHP会有点痛苦。您可以使用empty()
或isset()
,但请记住empty
返回true的情况。它高度自由,认为empty。
Returns FALSE if var has a non-empty and non-zero value. The following things are considered to be empty: "" (an empty string) 0 (0 as an integer) "0" (0 as a string) NULL FALSE array() (an empty array) var $var; (a variable declared, but without a value in a class)
isset
更保守,因为它只检查变量的存在和NULL值。来自documentation:
Returns TRUE if var exists and has value other than NULL, FALSE otherwise.