提问人:Jan 提问时间:2/25/2017 更新时间:8/27/2021 访问量:3350
检查数组值?- 对或错 (PHP)
Check array value? - True or False (PHP)
问:
我有一个数组,我在其中推送 true 或 false 值。而且我只想在数组完全为真或完全为真时执行下一个函数。但是因为它们不是字符串,所以我无法用 .in_array(...)
有谁知道我如何检查数组是完全正确的还是完全正确的?
问候和谢谢!:D
答:
0赞
4EACH
2/25/2017
#1
首先,检查所有数组是否具有相同的值
然后检查它是 TRUE 还是 FALSE。
if(count(array_count_values($array))===1){
if($array[0]){
// Completely TRUE;
}else{
// Completely FALSE;
}
}
1赞
Naincy
2/25/2017
#2
$res = array_unique($array);
if(count($res) === 1 && $res[0]) {
// your code
}
评论
0赞
mickmackusa
2/25/2017
为什么不呢?请更新或解释。$res[0]===TRUE
0赞
mickmackusa
2/25/2017
就此而言,不是和?更短,精度相同。$res[0]
$res[0]===TRUE
0赞
mickmackusa
2/25/2017
嗯,对不起,我一直在挑选...... 也更短,精度相同。我应该自己写吗?如果您同意,请编辑您的。count($res)==1
0赞
Naincy
2/25/2017
count($res)==1 也很好,但它使用 === 代替 == 的好习惯
0赞
mickmackusa
2/25/2017
我不确定我是否同意,但这是你的答案,所以我现在就鞠躬。
0赞
user1360618
8/27/2021
#3
对于 PHP >= 7.4
要检查所有项目是否都为 true,请执行以下操作:
... = array_reduce($array, fn ($carry, $item) => $carry && $carry === $item, true);
要检查所有项目是否都为 false,请执行以下操作:
... = array_reduce($array, fn ($carry, $item) => $carry && $carry !== $item, true);
评论
if (array_sum($myArray) == count($myArray)) { all true }
....if (array_sum($myArray) == 0) { all false }
in_array
in_array($needle, $haystack)