Có anyway để đếm mảng nếu giá trị> 10 mà không looping (foreach)?PHP: Cách đếm mảng nếu giá trị> 10 không lặp?
$arr=array(5,7,11,67,4,12,15);
$wanted_output=4
Có anyway để đếm mảng nếu giá trị> 10 mà không looping (foreach)?PHP: Cách đếm mảng nếu giá trị> 10 không lặp?
$arr=array(5,7,11,67,4,12,15);
$wanted_output=4
Chỉ cần sử dụng array_reduce
sau đó bạn không cần count
echo array_reduce($arr, function ($a, $b) {
return ($b > 10) ? ++$a : $a;
}); // returns 4
1 cho việc sử dụng tốt đẹp của array_reduce() –
@ MarkBaker nhờ .. tìm quá nhiều câu trả lời array_filter ... – Baba
Vâng, quá nhiều array_filters() :) Tôi quyết định sử dụng 'use' với một đóng cửa chỉ để phân biệt tôi –
Hãy thử với array_count_values như
print_r(array_count_values($my_array));
Nếu anh ta cần phải đếm các giá trị nhỏ hơn 10 thử như
$my_array = array_filter($my_array, function ($n) {
return $n > 10;
});
echo count($my_array);
Sử dụng array_count_values: -
$array = array(1, 38, 1, 38,35);
print_r(array_count_values($array));
Output: -
Array
(
[1] => 2
[38] => 2
[35] => 1
)
Sử dụng array_filter: -
$arraycount = array_filter($array, function ($n) {
return $n > 10;
});
echo count($arraycount);
$minVal = 10;
$counter = count(
array_filter(
$myArray,
function($value) use ($minVal) {
return $value > $minVal;
}
)
);
+ Tôi thích điều này .... sử dụng 'use ($ minVal)' thay vì giải pháp mã hóa – Baba
Ý anh là gì bởi giá trị 'mảng đếm hơn 10 ' bạn có thể đưa ra ví dụ – Baba
Nếu bạn muốn đếm số phần tử s sử dụng đếm ($ array); –
@Baba Tôi nghĩ rằng anh ấy cần đếm số lượng các giá trị – Gautam3164