Michael W.: wiederholter zufall

Hallo,

ich habe die funktion mt_rand() in eine schleife eingebaut:
for($i=0; $i <= $max; $i++)
{
$zahl_arr[] = mt_rand(0,9);
}
$max könnte zb = 3 sein.
nun kommt aber immer öfter die selbe ziffern-kombination raus.
da stimmt doch was nicht.
könnt ihr mir helfen?

MfG
Michael W.

  1. Hallo,

    ich habe die funktion mt_rand() in eine schleife eingebaut:
    for($i=0; $i <= $max; $i++)
    {
    $zahl_arr[] = mt_rand(0,9);
    }
    $max könnte zb = 3 sein.
    nun kommt aber immer öfter die selbe ziffern-kombination raus.
    da stimmt doch was nicht.
    könnt ihr mir helfen?

    MfG
    Michael W.

    http://www.michaelwoelk.de/kt/test.php

  2. Moin Moin,

    du startest den generator immer mit der gleichen Zahl, deswegen bekommste oft die gleiche Zahl raus.

    Eine möglichkeit wäre es die Generator mit der aktuelle Zeit zu starten (bis hin zu den Millisekunden).

    Dann wirste das problem los sein.

    MfG
    sabato

    1. hört sich ganz gut an...
      raffs aber net ganz waste willst.
      was ich verstanden habe ist das darauf hin nicht das selbe rauskommen kann weil jede millisekunde was anderes raus kommen würde, aber wie baue ich die hilfe ein?

      MfG
      Michael W.

      1. srand ((double) microtime() * 1000000);

        versuchs mal damit =)

        good luck

        P.S. bin noch länger hier

        1. <?php
          for($i=0; $i <= "5"; $i++)
          {
          $zahl_arr[] = srand ((double) microtime() * 1000000);
          print "$zahl_arr[$i]";
          }
          ?>

          so?
          so kommt aber nix raus:
          http://www.michaelwoelk.de/kt/test.php

          MfG
          Michael W.

          1. Moin Moin,

            hast nen kleinen Fehler gemacht

            ---------------------------
            Zeile 4: $zahl_arr[$i] anstatt $zahl_arr[]
            ---------------------------

            also so =)   :

            <?php
            for($i=0; $i <= "5"; $i++)
            {
            $zahl_arr[] = srand ((double) microtime() * 1000000);
            print "$zahl_arr[$i]";
            }
            ?>

            <?php
            for($i=0; $i <= "5"; $i++)
            {
            $zahl_arr[] = srand ((double) microtime() * 1000000);
            print "$zahl_arr[$i]";
            }
            ?>

            so?
            so kommt aber nix raus:
            http://www.michaelwoelk.de/kt/test.php

            MfG
            Michael W.

            1. <?php
              for($i=0; $i <= "5"; $i++)
              {
              $zahl_arr[] = srand ((double) microtime() * 1000000);
              print "$zahl_arr[$i]";
              }
              ?>

              http://www.michaelwoelk.de/kt/test.php
              ne! kommt immer noch nix raus!

              MfG
              Michael W.