检查多个 null isset 值

Check for multiple null isset values

我正在检查两个值是否为 null。如果两者都是null我想returnfalse,如果其中一个或两者都不是null,我想[=26] =] true.

我当前的代码 returns true 仅当两者都不是 null 但我希望它 return true 无论是否 null.

// check if both null
   if (!isset($myarray['dataone'], $myarray['datatwo']))
       {
           echo 'false';
        );    
       } else {
           echo 'true';
        );
       }
       return $emptytabs;

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

通过使用 AND (&&) 运算符。

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';
}
// 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';
    }
// check if both null

if ( !isset($myarray['dataone'], $myarray['datatwo']) )
    {
        echo 'false';

    } else {
       echo 'true';
}
return $emptytabs;

您提供的这种方法完全正确,但仅当所有提供的参数均根据 php 文档设置时才 return 正确。

所以您的代码应该可以正常工作。除了你有不需要的括号应该删除

最简单的方法是使用 OR (||) 运算符。你想显示 'true' 如果设置了一个东西 另一个东西被设置了。就用代码说吧。

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

使用 AND 运算符会增加毫无意义的复杂性,因为它会检查这两个内容是否都未设置以使其显示 'false'。这不是一种直观的思考方式,因此以这种方式编写代码没有意义。

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