检查多个空isset值

问题描述:

我检查两个值是否为null。如果两者都是null我想返回false,如果其中之一或两者都是而不是null,我想返回true检查多个空isset值

我当前的代码返回true只有当两者都没有null,但我想它返回true时,或者不能null

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

使用不同的方法,在括号内的条件内使用'||''和可能'&&'。 –

为此您可以使用关系运算符。 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'; 
} 

// 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单证设定它只返回true。

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

最简单的方法是使用OR(||)运算符。如果设置了一个项目,您想显示'true'设置了另一个项目。只需用代码说。

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

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

免责声明:本答案自取。