I myśleć I rozumieć ty problem, dawać myśleć temu:)
// Wkład szyk
$array = szyk (
szyk ("a" => 10),
szyk ("B" => 20),
szyk ("c" => 20),
szyk ("c" => 15)
);
// Tworzyć nowy szyk dla magazyn
$newArray = szyk ();
// Pętla przez rzecz rzecz
foreach ($array jako $item) {
// Znalezisko the szyk klucz the rzecz (["a"]… ["c"], etc)
$keys = array_keys ($item);
// Jeżeli the klucz obliczenie być my my oczekiwać
jeżeli (obliczenie ($keys) == 1) {
// Czek jeżeli ten wartość już przetwarzać
jeżeli (array_key_exists ($keys [(0)], $newArray)) {
// Jeżeli w ten sposób wtedy wzrost the obliczenie i dodawać the wartość
$newArray [$keys [(0)]] ["obliczenie"] ++;
$newArray [$keys [(0)]] ["wartość"] += $item [$keys [(0)]];
} inny {
// Inny mądry dodawać ten rzecz the nowy szyk
$newArray [$keys [(0)]] = szyk (
"obliczenie" => (1),
"wartość" => $item [$keys [(0)]]
);
}
}
}
// Wypośrodkowywać wydajność the wartość i format w the wymagany wydajność
$outputArray = szyk ();
foreach ($newArray jako $key => &$value) {
$outputArray [] = szyk ($key => ($value ["wartość"]/= $value ["obliczenie"]));
}
// Wydajność szyk
var_dump ($finalArray);