在PHP中,何时应使用isset?

| 什么时候应该使用:
if
//following code
!isset($foo)
!($foo)
$foo == \"\"
)     
已邀请:
如果您不使用isset并且正在测试的变量未定义,则会生成警告。此外,根本没有设置过的东西与设置为空字符串,false,null或0之间有区别。考虑到您正在检查数组键,而您只是想知道它是否已被使用是否创建-不在乎值-如果键为0,null或为空,则如果(!$ a [\'key \'])将返回false。 如果您知道将定义变量,并且测试仅需要知道变量是否为非false-即0,\'\',null或false-,则可以绕过isset。     
当您想要检查是否存在
$foo
而不关心它的值时。 当您知道
$foo
存在并且想要确保其值为
false
时。 从不,您应该改用trim和empty或strlen。     
PHP类型比较表     
isset验证变量或数组索引是否已设置为null以外的值。 isset($ var)===否 $ var = null; isset($ var)===否 $ var = 1; isset($ var)=== true $ var = \'\'; isset($ var)=== true //数组也一样 $ array = array(); isset($ array)===是 isset($ array [0])===否     
if
语句的条件下,如果需要检查变量是否存在,则应以
isset
开头。您还可以在某些情况下使用ѭ10,例如,当您要检查它是否未定义或大致等于null时。 使用
isset
有助于防止严格模式下的警告。     
除非您要专门检查是否设置了变量(实际上是否包含任何变量),否则!empty()总是比isset更好地使用。     
1:是否设置了var $ foo的任何值
function test($param = NULL){
  if(isset($param)){
    ....
  }
}
2:检查布尔值是/否(也检查空字符串) 3:检查空字符串。
if(trim($_POST[\'name\']) == \"\"){
   // throw error
}
我知道的例子并不惊人,但希望它们能传达信息。     

要回复问题请先登录注册