无论如何,如果值>计数数组? 10没有循环(foreach)?
$arr=array(5,7,11,67,4,12,15);
$wanted_output=4
答案 0 :(得分:9)
只需使用array_reduce
,您就不需要count
echo array_reduce($arr, function ($a, $b) {
return ($b > 10) ? ++$a : $a;
}); // returns 4
答案 1 :(得分:2)
$minVal = 10;
$counter = count(
array_filter(
$myArray,
function($value) use ($minVal) {
return $value > $minVal;
}
)
);
答案 2 :(得分:0)
尝试 array_count_values ,如
print_r(array_count_values($my_array));
如果他需要计算小于10的值,请尝试
$my_array = array_filter($my_array, function ($n) {
return $n > 10;
});
echo count($my_array);
答案 3 :(得分:0)
使用array_count_values: -
$array = array(1, 38, 1, 38,35);
print_r(array_count_values($array));
输出: -
Array
(
[1] => 2
[38] => 2
[35] => 1
)
使用array_filter: -
$arraycount = array_filter($array, function ($n) {
return $n > 10;
});
echo count($arraycount);
答案 4 :(得分:0)
从PHP7.4开始,您可以将array_reduce()
与箭头函数语法一起使用,并避免使用use()
语法来使函数内部的最小阈值可用。
代码:(Demo)
$array = [5, 7, 11, 67, 4, 12, 15];
$min = 10;
echo array_reduce($array, fn($carry, $item) => $carry + ($item > $min), 0);
// output: 4
$item
和$min
之间的true | false评估分别等于1 | 0。