php中的NULL,空白和空白有什么区别?

时间:2010-03-17 09:54:44

标签: php

我有一个表格有一些输入框和一些选择框。 我想申请在进一步活动之前没有任何东西可以是空的或空白的, 所以我使用以下条件

foreach($_POST as $k=>$v)
{
    if($v=='' || $v==NULL || empty($v))
    {
        $_SESSION['errMsg']=' Please fill all the fields properly';
                    header("location:somepage.php");
                    exit;
    }
     }

现在我的问题是:

上面if

是否有用?

如果没有,那么哪个条件足以阻止空白条目$v==''$v==NULLempty($v)或者我必须使用所有这些条件?

提前致谢

3 个答案:

答案 0 :(得分:12)

empty()应该照顾所有这些。

从手册:

以下内容被认为是空的:

  • “”(空字符串)
  • 0(0为整数)
  • “0”(0作为字符串)
  • NULL
  • FALSE
  • array()(空数组)
  • var $ var; (声明的变量,但在类中没有值)

非常方便Type-Comparison Table

答案 1 :(得分:1)

Mike已在emtpy()评估为true时说明了 但请注意:

  • $_POST中的每个值都是一个字符串,因此将其与NULL进行比较是不必要的。
  • 如果允许某个字段的值为0 ,则必须区别对待,因为empty()将返回true也是这个值!

答案 2 :(得分:1)

PHP函数empty()检查您要求的所有内容。如果表单字段仅包含空格或换行符,您也可以将其视为空。通过添加trim()来避免这种情况。

foreach($_POST as $k=>$v) {
    if (empty(trim($v))) {
        //...
    }
}