• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

verschachteltes array

Status
Für weitere Antworten geschlossen.

philipp

Neues Mitglied
Hi

Ich hab ein onlinefotoalbum gemacht und jetz sollen unter "aktuell" nur die letzten 5 alben angezeigt werden. ich hab das album soweit aber schon fertig und es arbeitet ohne datenbank, also is das ein problem...

ich hab mir das so gedacht

PHP:
[pseudocode]
$i = 0;
$album = array();
while ( $listdir = readdir(alben) ) {
 $album[$i] = filectime($listdir);
 $album[$i[name]] = $listdir;
 $i++;
}
arsort($album);

das geht aber irgendwie ned...

wie mach ich das denn mit den verschachtelten arrays?

Mod-Edit: Code-Tags hinzugefügt - Einmal noch und es wird rücksichtslos geschlossen (XraYSoLo)

anstatt so kindisch rumzujammern wäre helfen viel produktiver, aber okay, ich mach ab jetz konsequent (auch bei noch so trivialen beispielen) codetags

inzwischen brauch ich andere hilfe.

mein script sieht nun so aus

PHP:
 $handle2 = opendir('img/alben/');
 $dates = array();
 while ( $listdir = readdir($handle2) ) {
  if ( $listdir !== '.' && $listdir !== '..') {
   $akey = filectime('img/alben/'.$listdir);
   $dates[$akey] = $listdir;
  }
 }
 krsort($dates);
 $counted = count($dates);
 if ( $counted < 5 ) {
  $max = $counted;
 } else {
  $max = 5;
 }

jetzt muss ich alle werte des arrays ab dem 5ten löschen... wie mach ich das?

edit: hab es nun so gelöst, dass ich anschliessend bei der foreach schleife nur 5 einträge auslese, aber die lösung gefällt mir nicht.. kann mir jemand meine frage bitte trotzdem beantworten?

Mod-Edit: EDIT-BUTTON! (XraYSoLo)
 
PHP:
while ( $listdir = readdir($handle2) ) {
if(count($dates) == 5 ) break;
  if ( $listdir !== '.' && $listdir !== '..') {
   $akey = filectime('img/alben/'.$listdir);
   $dates[$akey] = $listdir;
  }
 }

hat aber weniger was mit einem multidimensionalen array zu tun
 
nein, das is ja jetz ein normales mit dem timecode als key und dem namen als wert

ich wollte aber einen index als key, einen timecode als wert UND einen namen als 2 wert

also so:
$dates[index] = timecode
$dates[index[name]] = name

is aber nicht wirklich gegangen, also hab ich das so gemacht
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben