我有一个包含多个整数的数组,我只对重复一定次数的整数感兴趣。例如:
$items = (0, 0, 0, 1, 1, 2, 3, 3, 3)
我想知道哪些项目被精确地重复 $number
(在本例中为 $number = 3
)次(在本例中为 new array $items = (0, 3)
)。
如果没有任何数组项重复 $number
次,我需要 var $none = 1
。
我知道函数 array_count_values 但不知道如何将其实现到我的情况...
最佳答案
$number = 3;
$items = array_keys(array_filter(array_count_values($items), create_function('$n', "return \$n == $number;")));
if (!$items) {
$none = 1;
}
- 使用
array_count_values
获取每个数字出现频率的配对 - 通过
array_filter
回调进行过滤,该回调会丢弃除计数为$number
的条目之外的所有条目 - 获取结果数组的键(实际计数值)
- 结果数组为空或包含出现
$number
次的值
关于php - 如何计算数组值并仅保留相关的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5791006/