检查多个值是全部为假还是全部为真

如何检查 20 个变量是否全部为真,或者 20 个变量是否全部为假?

如果可能的话,不使用很长的如果...

变量实际上是数组元素:

array('a'=> true, 'b'=> true ...)

以使其更清晰:

  • 如果数组同时具有 true 和 false 值,则不返回任何内容
  • 如果数组只有 true 值,则返回 true
  • 如果数组只有假值,则返回假:)

答案 1
if(count(array_unique($your_array)) === 1)  
  return current($your_array);

else return;

答案 2

您可以使用in_array

例如,对于所有真实:

if(in_array(false, $array, true) === false){
    return true;
}
else if(in_array(true, $array, true) === false){
    return false;
}
else{
     return 'nothing';
}

推荐