我应该使用null来查看PHP中的变量是否为空?

时间:2010-01-07 01:45:24

标签: php performance

当我使用_GET ['here here']变量检查它是否为空时,最好使用

if (isset($_GET['url']) != '') {
    //do stuff with it
}

OR

if (isset($_GET['url']) != NULL) {
    //do stuff with it
}

''或null或其他什么?

请不要将此称为优化或微优化,我只是在寻找最佳实践,谢谢

3 个答案:

答案 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.