Doppelte Werte in Zufallszahl vermeiden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Doppelte Werte in Zufallszahl vermeiden

    Hallo,

    ich erzeuge mit ...
    PHP-Code:
    for($i=0;$i<5;$i++){ 
    $zufall[] = rand(120); 

    ...Zufallszahlen und lege sie hintereinander in ein Array.
    Wie kann ich verhindern, dass Zahlen doppelt vorkommen?

  • #2
    ich wuerde das einfach mit ner whileschleife machen, die solange geht bis 20 werte eingetragen sind.
    eintragen tuste nur, wenn der wert noch nciht im array existiert (if?).

    ka wie es sonst gehen soll...

    mfg
    Immer schoen den Quelltext brechen....
    Sorry: UMBRECHEN!

    Kommentar


    • #3
      Indem du jede Zufallszahl in einem Array speicherst und bei jeder neuen Zufallszahl erst prüfst ob das letzte Element bereits die Zahl war (so verhinderst du 2 gleiche Werte nacheinander), oder ob die Zahl im Array bereits vorkommt (so verhinderst du, dass überhaupt zwei gleiche Werte vorhanden sind).
      PHP-Code:
      $temp = array();
      for(
      $i=0;$i<5;$i++){
          
      $zahl rand(120); 
          while(
      in_array($zahl,$temp)){
              
      $zahl rand(120); 
          }
          
      $temp[] = $zahl;

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        danke für die schnelle Hilfe. Funktioniert super.

        Kommentar


        • #5
          PHP-Code:
          $arr range120 );
          shuffle $arr );
          $arr array_slice $arr 0);

          print_r($arr); 

          Kommentar


          • #6
            in der kürze liegt die... unübersichtlichkeit:

            PHP-Code:
            $arr array_rand range120 ), );
            print_r($arr); 

            Kommentar

            Lädt...
            X