哪个是更好的,当我[“的东西在这里”]使用_GET一个变量来检查它是否是空的或不我应该使用null来查看PHP中的变量是否为空?
if (isset($_GET['url']) != '') {
//do stuff with it
}
OR
if (isset($_GET['url']) != NULL) {
//do stuff with it
}
“”或空或别的东西使用?
请不要把这种过度优化或微优化,我只是在寻找最好的做法,谢谢
哪个是更好的,当我[“的东西在这里”]使用_GET一个变量来检查它是否是空的或不我应该使用null来查看PHP中的变量是否为空?
if (isset($_GET['url']) != '') {
//do stuff with it
}
OR
if (isset($_GET['url']) != NULL) {
//do stuff with it
}
“”或空或别的东西使用?
请不要把这种过度优化或微优化,我只是在寻找最好的做法,谢谢
你应该做到以下几点,以确保该值都存在,并且不为空
if(isset($_POST[myField]) && $_POST[myField] != "") {
Do my PHP code
}
这是我过去使用过的,但后来我看到有人像if(isset($ something))那样做,并且我运行它并且它工作,所以我认为它很好,我猜我应该执行2次检查 – JasonDavis 2010-01-07 01:57:05
使用空() - 它的变量的实际首测测试的东西是否在它之前存在。
[编辑:isset()函数只返回TRUE或FALSE,所以无论上述工作的发言同样]
在调试空白/缺失/空值检查时,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.
请注意:'isset()'返回一个布尔值,所以它返回true或false,但永远不会''或NULL。所以你的两个例子都是错的。 – Frunsi 2010-01-07 01:52:25
@frunsi如果他们都是错误的,你可以帮助它正确吗? – JasonDavis 2010-01-07 02:25:04