Sorry, ich hatte es nicht getestet, hab aber grade den Denkfehler gefunden. Korrigierte Fassung:
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);
?>
Da kommen jetzt auch deine Vorgabewerte raus.