检查多个null isset值

问题描述 投票:0回答:4

我正在检查两个值是否为null。如果两个都是null我想要返回false,如果其中一个或两个都不是null,我想返回true

我的当前代码返回true只有当两者都不是null但我希望它返回true时,无论是否null

// check if both null
   if (!isset($myarray['dataone'], $myarray['datatwo']))
       {
           echo 'false';
        );    
       } else {
           echo 'true';
        );
       }
       return $emptytabs;
php isset
4个回答
1
投票

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

通过使用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';
}

0
投票
// 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';
    }

0
投票
// check if both null

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

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

您提供的这种方法完全正确,但只有在根据php文档设置所有提供的参数时才返回true。

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


0
投票

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

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

使用AND运算符通过检查两个事物都没有设置以使其显示“false”来增加无意义的复杂性。这不是一种直观的思考方式,因此以这种方式编写代码是没有意义的。

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

© www.soinside.com 2019 - 2024. All rights reserved.