Hello,
Ich würde nur prüfen, ob es sich um ein Array handelt (um die Warnung zu vermeiden) und dann solange poppen, wie das Ergebnis ungleich (!==) NULL ist.
Dann hast Du alle Dateien nicht nur ein, zwei oder drei Stück. Und wenn Du eine fors-Schleife nimmst um nur die richtige Anzahl zu bekommen, wozu bei jedem Durchlauf prüfen, wenn einmal reicht?
Wie meinst Du das? Wieso muss ich nur einmal prüfen?
Im Prinzip so:
$gewuenschte_anzahl = 3;
if (count($sortierte_dateinamen) < $gewuenschte_anzahl) {
$interval = count($sortierte_dateinamen);
} else {
$interval = $gewuenschte_anzahl;
}
for ($z = (count($sortierte_dateinamen) - 1); $z >= (count($sortierte_dateinamen) - $interval); $z--) {
... $sortierte_dateinamen[$z] //was auch immer
}
Eine for-Schleife und ein if. Na gut, die for-Schleife enthält auch eine Prüfung pro Durchlauf.
und dann solange poppen, wie das Ergebnis ungleich (!==) NULL und die gewünschte Anzahl
noch nicht erreicht ist.
Also eine Schleife und bei jedem Schleifendurchgang eine if-Abfagen mit zwei Bedingungen oder eine while-Schleife mit einer if-Abfrage je Schleifendurchgang.