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

检查多个空isset值

  •  0
  • Sam  · 技术社区  · 7 年前

    我正在检查两个值是否为 null . 如果两者都是 无效的 我想回来 false ,如果其中一个或两个 无效的 ,我想返回 true .

    我的当前代码返回 真的 只有当两者都不是 无效的 但我想让它回来 真的 无论何时 无效的 .

    // check if both null
       if (!isset($myarray['dataone'], $myarray['datatwo']))
           {
               echo 'false';
            );    
           } else {
               echo 'true';
            );
           }
           return $emptytabs;
    
    4 回复  |  直到 7 年前
        1
  •  1
  •   Pirate    7 年前

    为此,可以使用关系运算符。和(&)或(| |)

    通过使用和(&)操作员。

    if ( (!isset($myarray['dataone']) || (!isset$myarray['datatwo'] ))
    {
        echo 'false';  
    } 
    else 
    {
        echo 'true';
    }
    

    通过使用OR(| |)运算符。

    if (isset($myarray['dataone'] && isset$myarray['datatwo'])
    {
        echo 'false';  
    } 
    else 
    {
        echo 'true';
    }
    
        2
  •  0
  •   halojoy    7 年前
    // check if both null
    if ( !isset($myarray['dataone']) && !isset($myarray['datatwo']))  {
            echo 'false';
        } else {
            echo 'true';
        }
    
    // check if one or both are null
    if ( !isset($myarray['dataone']) || !isset($myarray['datatwo']))  {
            echo 'false';
        } else {
            echo 'true';
        }
    
        3
  •  0
  •   samo0ha    7 年前
    // check if both null
    
    if ( !isset($myarray['dataone'], $myarray['datatwo']) )
        {
            echo 'false';
    
        } else {
           echo 'true';
    }
    return $emptytabs;
    

    您提供的这种方法是完全正确的,但只有当所有提供的参数都根据 php 文件。

    因此,您的代码应该工作正常。除非你有不需要的括号应该删除

        4
  •  0
  •   Don't Panic    7 年前

    最简单的方法是使用OR( || )操作员。如果设置了一件事,则要显示“true” 另一件事已经安排好了。用代码就可以了。

    if ( isset($myarray['dataone']) || isset($myarray['datatwo']) ) {
        echo 'true';
    } else {
        echo 'false';
    }
    

    使用AND操作符会增加无意义的复杂性,因为它会检查这两件事是否都没有设置为显示“false”。这不是一种直观的思考方式,因此以这种方式编写代码是没有意义的。

    免责声明:这个答案是自以为是的。