什么时候应该使用:
if
( //following code
!isset($foo)
!($foo)
$foo == ""
)
如果您不使用 isset 并且您正在测试的变量未定义,则会生成警告。此外,从未设置过的内容与设置为空字符串、false、null 或 0 之间存在差异。考虑您正在检查数组键,而您只想知道它是否已创建 -并且不关心值 - 如果 (!$a['key']) 将返回 false 如果键为 0、null 或空。
如果您知道将定义变量并且测试只需要知道该变量是否为非假(即 0、''、null 或假),那么您可以绕过 isset。
isset 验证变量或数组索引是否已设置为 null 以外的值。
isset($var) === 假
$var=空;isset($var) === 假
$var= 1; isset($var) === 真
$var=''; isset($var) === 真
// 数组也是如此 $array= array(); isset($array) === true isset($array[0]) === false
在条件 if
语句中,isset
如果需要检查变量是否存在,应该先行。您还可以empty
在某些情况下使用,例如当您要检查它是否未定义或松散地等于 null 时。
使用isset
对于在严格模式下防止警告很有用。
除非您想专门检查是否设置了变量(它是否实际包含任何内容),否则 !empty() 总是比 isset 更好用。
1 : 是否设置了 var $foo 的任何值
function test($param = NULL){
if(isset($param)){
....
}
}
2:检查布尔真/假(也检查空字符串)
3:检查空字符串。
if(trim($_POST['name']) == ""){
// throw error
}
我知道的例子并不令人惊奇,但希望他们能传达信息。