Auge: nur die letzten 3 bei foreach

Beitrag lesen

Hallo

Ich denke, dass diese Lösung mit einer vorhergehenden Prüfung, ob das Array mehr als 5 Elemente hat, die einfachste wäre. Keine Schleife, keine Prüfung in der Schleife ...

$anzahl_eintraege = 5;

if (count($array)>$anzahl_eintraege) {
$array = array_slice($array,-$anzahl_eintraege);
}


>   
> Ich habe es extra nicht in den Vordergrund gestellt, weil man sich bei älteren PHP-Versionen eben noch selber helfen muss:  
>   
>              "Beachten Sie, dass array\_slice() nach Vorgabe numerische Schlüssel  
>               des Arrays zurücksetzt. Seit PHP 5.0.2 können Sie dieses Verhalten  
>               ändern, indem Sie preserve\_keys  auf TRUE setzen."  
>   
> Das wäre dann bei einem Array, dessen Schlüssel man im Originalzustand benötigt, weil z.B. die IDs der Datensätze drinstehen, ein KO-Kriterium für ein Array-slice auf einem älteren PHP.  
  
Woher stammen denn die Schlüssel? Entweder sie sind mit dem Eintrag fest verknüpft, also mitgespeichert und somit ein Feld des Arrays, dann ist das auch kein Problem, oder sie sind, wie im Falle des Auslesens der Datei mit [file](http://www.php.net/file), nutzlos, da sie sich verändern, sobald ein Eintrag aus der Datei gelöscht wird. Dessen sollte man sich bewusst sein, was dann bedingt, dass man, um die Anzeige der Datensätze zu steuern, den Datensätzen ein weiteres Feld für die Anzeige oder Sperrung verpasst.  
  
Tschö, Auge  

-- 
Die deutschen Interessen werden am Liechtenstein verteidigt.  
  
[Veranstaltungsdatenbank Vdb 0.2](http://termindbase.auge8472.de/)