Pienso que le entiendo problema, doy esto hace:)
Arsenal de la entrada de //
$array = arsenal (
arsenal (=> de “a” 10),
arsenal (=> 20 de “b”),
arsenal (=> 20 de “c”),
arsenal (=> 15 de “c”)
);
// crea un nuevo arsenal para el almacenaje
$newArray = arsenal ();
Lazo de // a través de cada artículo
foreach ($array como $item) {
// encuentra las llaves del arsenal del artículo ([“a”]… [“c”], los etc)
$keys = array_keys ($item);
// si la cuenta de las llaves es lo que estamos esperando
si == (de la cuenta ($keys) 1) {
Cheque de // si este valor se ha procesado ya
si (array_key_exists ($keys [0], $newArray)) {
// si tan entonces aumento la cuenta y agrega el valor
$newArray [$keys [0]] [“cuenta”] ++;
$newArray [$keys [0]] [“valor”] += $item [$keys [0]];
} {
// el otro sabio agrega este artículo al nuevo arsenal
$newArray [$keys [0]] = arsenal (
=> 1 de la “cuenta”,
=> $item [$keys [0] del “valor”]
);
}
}
}
// hace un promedio hacia fuera de los valores y del formato en la salida required
$outputArray = arsenal ();
foreach ($newArray como => &$value de $key) {
$outputArray [] = arsenal (=> de $key ($value [“valor”]/= $value [“cuenta”]));
}
Arsenal de salida de //
var_dump ($finalArray);