Eu penso que eu o compreendo problema, dou isto há:)
Disposição da entrada de //
$array = disposição (
disposição (=> 10 de “a”),
disposição (=> 20 de “b”),
disposição (=> 20 de “c”),
disposição (=> 15 de “c”)
);
// cria uma disposição nova para o armazenamento
$newArray = disposição ();
Laço de // através de cada artigo
foreach ($array como $item) {
// encontra as chaves da disposição do artigo ([“a”]… [“c”], etc.)
$keys = array_keys ($item);
// se a contagem das chaves é o que nós estamos esperando
se (== 1 da contagem ($keys)) {
Verificação de // se este valor tem sido processado já
se (array_key_exists ($keys [0], $newArray)) {
// se tão então aumento a contagem e adiciona o valor
$newArray [$keys [0]] [“contagem”] ++;
$newArray [$keys [0]] [“valor”] += $item [$keys [0]];
} mais {
// o outro sábio adiciona este artigo à disposição nova
$newArray [$keys [0]] = disposição (
=> 1 da “contagem”,
=> $item do “valor” [$keys [0]]
);
}
}
}
// calcula a média para fora dos valores e do formato na saída required
$outputArray = disposição ();
foreach ($newArray como o => &$value de $key) {
$outputArray [] = disposição (=> de $key ($value [“valor”]/= $value [“contagem”]));
}
Disposição de saída de //
var_dump ($finalArray);