Ich denke, dass ich Sie Problem, gebe dieses vor: verstehe)
//-Eingangsreihe
$array = Reihe (
Reihe („a“ => 10),
Reihe („b“ => 20),
Reihe („c“ => 20),
Reihe („c“ => 15)
);
// verursachen eine neue Reihe für Lagerung
$newArray = Reihe ();
//-Schleife durch jedes Einzelteil
foreach ($array als $item) {
// finden die Reihenschlüssel des Einzelteils ([„a“]… [„c“], usw.)
$keys = array_keys ($item);
//, wenn der Schlüsselzählimpuls ist, was wir erwarten
wenn (Zählimpuls ($keys) == 1) {
//-Überprüfung, wenn dieser Wert bereits verarbeitet worden ist
wenn (array_key_exists ($keys [0], $newArray)) {
// wenn so dann Zunahme der Zählimpuls und addieren den Wert
$newArray [$keys [0]] [„Zählimpuls“] ++;
$newArray [$keys [0]] [„Wert“] += $item [$keys [0]];
} sonst {
// anderes kluges fügen dieses Einzelteil der neuen Reihe hinzu
$newArray [$keys [0]] = Reihe (
„Zählimpuls“ => 1,
„Wert“ => $item [$keys [0]]
);
}
}
}
// berechnen heraus der Werte und Formats in den erforderlichen Ausgang
$outputArray = Reihe ();
foreach ($newArray als $key => &$value) {
$outputArray [] = Reihe ($key => ($value [„Wert“]/= $value [„Zählimpuls“]));
}
//-Ausgabe-Array
var_dump ($finalArray);