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 ) )