Position inherhalb eines Array ermitteln

Funky_MF

Erfahrenes Mitglied
Hallo, ich steh mal wieder völlig im Wald, für eine Blätterfunktion hab ich ein Array mit den Nummerierungen der Bilderdateien gefüllt. Diese sind aber nicht immer durchgängig. Das nachfolgende Script, welches ich hier auf tutorials.de irgendwo mal gefunden habe, funktionert aber nur mit durchgängigen Werten aber nicht wenn mal ein Wert ausgelassen wird. Ich müsste für die "Next" u. "Prev" - Funktion zuerst ermitteln an welcher Stelle im Array der übergebene Wert ( $picture ) sich befindet um dann zu prüfen, ob im Array danach oder davor noch ein Wert existiert.

$bilder ist das Array mit den Werten wie z.B. 111,112,113,115,116,117

PHP:
 $picture = ($_GET['bild']);     

   if ($picture==""){
       $picture=$bilder[0];
   }
   
   if (in_array($picture-1, $bilder)){    
       $zurueck=$picture-1; 
       echo "<a href=\"dir=".$image_dir."&bild=".$zurueck."\">Prev</a>\n";
   } else {
       echo "&nbsp;\n";
   }   

   if (in_array($picture+1, $bilder)){
       $vor=$picture+1;
       echo "<a href=\"index.php?dir=".$image_dir."&bild=".$vor."\">Next</a>\n";    
   } else {
       echo "&nbsp;<\n";
   }
 
Hab das ganze jetzt etwas umgestellt, sodaß in dem Array $bilder nicht mehr nur die Bildernummern drinstehen sondern der komplette Dateiname. Zum Steuern der Blätterfunktion verwende ich jetzt nicht mehr den Value sondern den Key.

Das Array $bilder enhält also jetzt die Werte wie z.B. bild111.jpg, bild112.jpg, bild113.jpg, bild115.jpg, usw.

PHP:
$picture = ($_GET['bild']);      

   if ($picture==""){ 
       $picture=$bilder[0]; 
   } 
    
   if ($picture > 0){    
       $zurueck=$picture-1; 
       echo "<a href=\"dir=".$image_dir."&bild=".$zurueck."\">Prev</a>\n"; 
   } else { 
       echo "&nbsp;\n"; 
   }    

   if ($bilder[$picture+1] == TRUE){
       $vor=$picture+1; 
       echo "<a href=\"index.php?dir=".$image_dir."&bild=".$vor."\">Next</a>\n";     
   } else { 
       echo "&nbsp;<\n"; 
   }
 
Zurück