Ik denk ik u probleem, geef dit geleden: begrijp)
// de serie van de Input
$array = serie (
serie ('a' => 10),
serie ('b' => 20),
serie („c“ => 20),
serie („c“ => 15)
);
// leidt tot een nieuwe serie voor opslag
$newArray = serie ();
// Lijn door elk punt
foreach ($array als $item) {
// vindt de seriesleutels van het punt (['a']… [„c“], enz.)
$keys = array_keys ($item);
// als de sleutelstelling is wat wij verwachten
als (telling ($keys) == 1) {
// Controle als deze waarde reeds is verwerkt
als (array_key_exists ($keys [0], $newArray)) {
// als zo dan de telling verhoog en de waarde toevoeg
$newArray [$keys [0]] [„telling“] ++;
$newArray [$keys [0]] [„waarde“] += $item [$keys [0]];
} anders {
// Andere wijs voegt dit punt aan de nieuwe serie toe
$newArray [$keys [0]] = serie (
„telling“ => 1,
„waarde“ => $item [$keys [0]]
);
}
}
}
// Gemiddelde uit de waarden en het formaat in de vereiste output
$outputArray = serie ();
foreach ($newArray als $key => &$value) {
$outputArray [] = stel ($key => ($value [„waarde“]/= $value [„telling“])) op;
}
// de serie van de Output
var_dump ($finalArray);