Sorry, ich hatte es nicht getestet, hab aber grade den Denkfehler gefunden. Korrigierte Fassung:
Da kommen jetzt auch deine Vorgabewerte raus.
PHP-Code:
<?php
// Eingabe:
$limit = 3;
$array = array(
array ('AA',1),
array ('CC',1),
array ('AA',1),
array ('DD',2),
array ('FF',2),
array ('BB',2),
array ('UU',2),
array ('KK',4),
array ('CC',3),
array ('AA',70),
array ('UU',5),
array ('CC',1),
array ('UU',1),
array ('CC',1),
array ('UU',1),
array ('DD',1),
array ('DD',2),
array ('AA',2),
);
// Verarbeitung:
$gefiltert = array();
$filter = array();
foreach ($array as $index => $item) {
list($name, $value) = $item;
if (!isset($gefiltert[$name])) {
$gefiltert[$name] = 0;
$filter[$name] = $limit;
}
if ($filter[$name] > 0) {
$gefiltert[$name] += $value;
$filter[$name]--;
}
}
// Ausgabe:
print_r($gefiltert);
?>
Kommentar