Problem mit einem Array

  • Problem mit einem Array

    Nabend,

    ich habe ein kleines Problem.
    Mit meinem Script möchte ich diverse Zufallsbilder ausgeben.

    Die Pfadangaben dieser Bilder habe ich einem array gespeichert (gut 40 Einträge).
    Da ich nun nur 4 Zufallsbilder ausgeben möchte, habe ich folgendes Script:

    Quellcode

    1. // 4 Bilder raussuchen
    2. // Die Pfadangaben sind im Array $bilder gespeichert
    3. $z_bilder = array();
    4. for($i = 1; $i <= 4; $i++)
    5. {
    6. $tmp = $bilder[mt_rand(0, count($bilder))];
    7. while(in_array($tmp, $z_bilder))
    8. {
    9. // Bild schon vorhanden
    10. $tmp = $bilder[mt_rand(0, count($bilder))];
    11. }
    12. $z_bilder[] = $tmp;
    13. }
    Alles anzeigen


    Später gebe ich diese Bilder aus. Es klappt auch alles wunderbar.
    Das Problem ist nun folgendes: Alle paar Versuche, kann das Bild nicht ausgegeben werden, da $z_bilder lediglich 3 Einträge hat (Statt wie erwartet 4 => error)
    Das heißt, irgendwo in dieser Schleife wird ein Array nicht richtig gefüllt...

    Erkennt Ihr dort einen Fehler?!? :D
    Ich kann mir nicht mehr helfen....

    Gruß,
  • Rondrer schrieb:

    Der Bereich der Zufallszahlen stimmt nicht ganz... Du gehst von 0 bis count($bilder), da du bei 0 anfängst (und die array-indexierung bei 0 anfängt) sind das dann aber count($bilder)+1 verschiedene mögliche Zahlen. Die Zufallszahlen dürfen also nur von 0 bis count($bilder)-1 gehen


    Tatsache. Danke.
    Es ist manchmal echt besser, wenn jemand anders drüberschaut :)

    Gruß,