什么是检查输入是空/空白的正确功能?

时间:2013-11-11 21:56:19

标签: php

我一直在使用empty函数来验证表单提交是否为空。但是,我刚才意识到empty" *whitespace* "传递为非空,这显然不是我想要的。

示例:

    $text = "is this empty?";
    if (empty($text)) {
        echo 'Yes, Empty!';
     } 
             // return is NOT empty

    $text = "         ";
    if (empty($text)) {
        echo 'Yes, Empty!';
     } 
             // return is NOT empty

现在我正在使用:

    $text = "         ";
    if (!trim($text)) {
        echo 'Yes, Empty!';
     } 
             // return is Yes, Empty!

我需要明白:

  1. empty用于什么?
  2. 我是否正确使用trim作为我的目的?
  3. 我的另一个功能是否可以专门用于我的目的?

2 个答案:

答案 0 :(得分:3)

同时使用trim()empty()

$text = "         ";
if (empty(trim($text))) {
    echo 'Yes, Empty!';
} 

答案 1 :(得分:1)

  1. Empty用于检查某些内容是否为空。如果有空格,则不为空。
  2. 修剪删除第一个字符之前和字符串的最后一个字符之后的空格。如果没有字符,修剪将使您的字符串空格为空。所以是的,你在这里正确使用它。
  3. 正如前面的回答所说,如果你不想要空格来阻止你的字符串为空,你可以同时使用空和修剪。但首选的方法是检查trim($ string)是否为false。