代码之家  ›  专栏  ›  技术社区  ›  xkeshav

在php中,空、空和空有什么区别?

php
  •  0
  • xkeshav  · 技术社区  · 14 年前

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

    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==NULL empty($v) 或者我必须使用所有这些条件?

    提前谢谢

    3 回复  |  直到 13 年前
        1
  •  11
  •   Mike B    14 年前

    empty() 应该照顾好这些。

    从手册中:

    以下内容被认为是空的:

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

    而且非常方便 Type-Comparison Table

        2
  •  1
  •   Felix Kling    14 年前

    迈克已经描述过 emtpy() 评估为 true .
    但请注意:

    • 中的每个值 $_POST 反正是一个字符串,所以将它与 NULL 是不必要的。
    • 如果允许字段具有 0 ,你必须 区别对待 作为 empty() 将返回 为了这个价值!
        3
  •  1
  •   Nick    14 年前

    PHP函数 empty() 检查你要的所有东西。如果表单字段只包含空格或换行符,也可以将其视为空。通过添加 trim() .

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