【问题标题】:Check array value? - True or False (PHP)检查数组值? - 对或错(PHP)
【发布时间】:2017-07-16 07:23:34
【问题描述】:

我有一个数组,我在其中推送真值或假值。如果数组完全正确或完全正确,我只想执行下一个函数。但是因为它们不是字符串,所以我不能用in_array(...)检查它。

有人知道我如何检查一个数组是完全正确还是完全正确?

您好,谢谢! :D

【问题讨论】:

  • if (array_sum($myArray) == count($myArray)) { all true }....if (array_sum($myArray) == 0) { all false }
  • 刚刚在 PHP 7 中测试,您可以在 in_array 函数中使用布尔值。
  • 使用 in_array 函数看起来如何?
  • 如果您使用的是 PHP7,那么@Manulaiko 的建议是正确的。
  • @Jan in_array($needle, $haystack)

标签: php arrays boolean boolean-logic boolean-expression


【解决方案1】:

首先,检查所有数组是否具有相同的值

然后检查是真还是假。

if(count(array_count_values($array))===1){
  if($array[0]){
    // Completely TRUE; 
    }else{
    // Completely FALSE; 
    }
}

【讨论】:

    【解决方案2】:
    $res = array_unique($array);
    if(count($res) === 1 && $res[0]) {
      // your code
    }
    

    【讨论】:

    • 为什么不$res[0]===TRUE ?请更新或解释。
    • 那么,$res[0] 和 $res[0]===TRUE 不一样吗?更短但精度相同。
    • 嗯,对不起,我一直在挑选....count($res)==1 也更短,但精度相同。我应该自己写吗?如果您同意,请编辑您的。
    • count($res)==1 也很好,但它的好习惯是使用 === 代替 ==
    • 我不确定我是否同意,但这是你的答案,所以我现在退出。
    【解决方案3】:

    对于 PHP >= 7.4

    检查所有项目是否为真:

    ... = array_reduce($array, fn ($carry, $item) => $carry && $carry === $item, true);
    

    检查所有项目是否为假:

    ... = array_reduce($array, fn ($carry, $item) => $carry && $carry !== $item, true);
    

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 1970-01-01
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多