我不仅试图计算某个值在数组中出现的次数,而且还将输出限制为偶数结果。
$quotes = array(
array(
'quote' => 1,
'from' => 'NC',
),
array(
'quote' => 2,
'from' => 'MA',
),
array(
'quote' => 3,
'from' => 'OH',
),
array(
'quote' => 2,
'from' => 'MA',
),
array(
'quote' => 1,
'from' => 'NC',
),
);
我如何过滤这个数组来计算每个'quote'的次数,然后显示计数> 1的结果。
$result = array_map('unserialize',array_keys(array_diff(array_count_values(array_map('serialize',$quotes)),array(1))));
工作原理:
- 通过
serialize
制作一维数组 - count all values
- 用
array_diff
删除所有计数 - 作为
array_count_values
将值放入键中,检索键作为值 -
unserialize
将其放回原设计
1
的值查看它的工作情况:http://codepad.viper-7.com/9RPjdK