PHP:empty()验证所有这些情况:null,空字符串,变量未设置?

时间:2010-09-06 13:26:09

标签: php

empty()函数验证所有这些情况:

1.var = null

2.var =空字符串“”/“”

3.var =未设置

验证使用示例(我应该添加更多代码进行验证还是空()足够吗?):

if(!empty($userName)){
  //some code
}

else{
  echo "not valid user name"
}

修改 isset()之前使用empty()还是empty()包含isset()个案?

3 个答案:

答案 0 :(得分:7)

是的,确实如此。它位于php documentation

答案 1 :(得分:4)

鉴于以下情况,我认为它符合您的需求:

  

考虑以下事项   是空的:

* "" (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)

编辑:

  

应该在empty()或之前使用isset()   empty()包括isset()case?

这取决于使用情况。如果您处于无法确定$username存在的位置,则需要首先使用isset来避免关于不存在的变量的错误。另一方面,如果您确定$username将始终存在,那么您可以尝试测试空值并将其留在那里。

答案 2 :(得分:1)

如果你想检查用户是否已经填写任何内容,那么empty()就可以了。另一方面,如果您想检查用户是否填写了超过3个字符(strlen())或仅使用字母数字字符(preg_match())的用户名,则需要更多工具;)