P粉3230507802023-09-06 09:57:01
使用array_reduce
以一种特殊而有用的方式,我们可以按名称将项目进行分组。然后再按值进行分组并计数。这个想法是传递一个累积值作为键的数组。
$g = array($a, $b, $c, $d, $e, $f, $h);
$result = array_reduce($g, function ($carry, $item) {
$key = $item[0];
$value = $item[1];
if (!isset($carry[$key])) {
$carry[$key] = [];
}
if (!isset($carry[$key][(string) $value])) {
$carry[$key][(string) $value] = 0;
}
$carry[$key][(string) $value]++;
return $carry;
}, []);
print_r($result);
输出:
Array ( [FA] => Array ( [12.9] => 3 [12.4] => 1 ) [FB] => Array ( [12.2] => 1 [12.9] => 1 ) [FC] => Array ( [12.3] => 1 ) )