Php 检查输入是否为空/空白的适当功能是什么?

Php 检查输入是否为空/空白的适当功能是什么?,php,Php,我一直在使用empty函数验证表单提交是否为空。然而,我刚刚意识到empty将“*空白*”传递为非空,这显然不是我想要的 示例: $text = "is this empty?"; if (empty($text)) { echo 'Yes, Empty!'; } // return is NOT empty $text = " "; if (empty($text)) { e

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

示例:

    $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!
我需要了解:

  • empty
    用于什么
  • 我是否正确使用了
    trim
  • 它们是我可以专门用于我的目的的另一个功能吗
  • 同时使用
    trim()
    empty()

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

    $text = "         ";
    if (empty(trim($text))) {
        echo 'Yes, Empty!';
    } 
    
  • Empty用于检查某物是否是空的。如果有空格,它就不是空的
  • Trim删除字符串第一个字符之前和最后一个字符之后的空格。如果没有字符,修剪将使带有空格的字符串变为空。因此,是的,您在这里使用的是正确的
  • 正如前面的答案所说,如果不想让空格阻止字符串为空,可以同时使用empty和trim。但首选的方法是检查trim($string)是否为false
  • Empty用于检查某物是否是空的。如果有空格,它就不是空的
  • Trim删除字符串第一个字符之前和最后一个字符之后的空格。如果没有字符,修剪将使带有空格的字符串变为空。因此,是的,您在这里使用的是正确的
  • 正如前面的答案所说,如果不想让空格阻止字符串为空,可以同时使用empty和trim。但首选的方法是检查trim($string)是否为false

  • 由SO的一个常用PHPcontributors@MichaelBerkowski谢谢你的链接。由SO的一个常用PHPcontributors@MichaelBerkowski感谢link.PHP文档说不要这样做。它有什么好处?如果有的话?这只是一个简单的两步过程。删除前导空格和尾随空格,在本例中为所有空格,然后检查其是否为空。这很好。这将在PHP 5.5之前发出一个解析错误。PHP致命错误:无法在write contextDOCS中使用函数返回值。docs说只使用
    trim($name)==false
    只将定义的变量输入
    empty($var)
    而不是嵌套函数,例如
    empty(trim($var))
    PHP文档说不要这样做。它有什么好处?如果有的话?这只是一个简单的两步过程。删除前导空格和尾随空格,在本例中为所有空格,然后检查其是否为空。这很好。这将在PHP 5.5之前发出一个解析错误PHP致命错误:无法在write contextDOCS中使用函数返回值说只使用
    trim($name)==false
    只将定义的变量输入
    empty($var)
    而不是嵌套函数,例如
    empty(trim($var))