Avatar billede hansi67 Nybegynder
17. april 2007 - 11:53 Der er 3 kommentarer og
1 løsning

Forklaring på: mt_srand((double)microtime()*1000000);

Hejsa
Jeg har fundet følgene function på nettet, nen der er en ting jeg ikke forstår.


Dette fatter jeg ikke:
---
// Seed the random number generator with the microtime stamp
// (current UNIX timestamp, but in microseconds)
mt_srand((double)microtime()*1000000);
---

En der gider at forklare hvordan ovenstående fungere og gør ?




Her er hele functionen:
--------------
// A function to generate random alphanumeric passwords in PHP
// It expects to be passed a desired password length, but it
// none is passed the default is set to 10 (you can change this)
function generate_password($length = 10) {

    // This variable contains the list of allowable characters
    // for the password.  Note that the number 0 and the letter
    // 'O' have been removed to avoid confusion between the two.
    // The same is true of 'I' and 1
    $allowable_characters = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789";
   
    // We see how many characters are in the allowable list
    $ps_len = strlen($allowable_characters);

    // Seed the random number generator with the microtime stamp
    // (current UNIX timestamp, but in microseconds)
    mt_srand((double)microtime()*1000000);

    // Declare the password as a blank string.
    $pass = "";

    // Loop the number of times specified by $length
    for($i = 0; $i < $length; $i++) {
   
        // Each iteration, pick a random character from the
        // allowable string and append it to the password.
        $pass .= $allowable_characters[mt_rand(0,$ps_len-1)];
   
    } // End for

    // Retun the password we've selected
    return $pass;
}
--------------

:)
Avatar billede coderdk Praktikant
17. april 2007 - 12:11 #1
Den er overflødig - Men den seeder random number generatoren, så den kan levere tilfældige tal...
Men fra: http://dk2.php.net/mt_srand
"As of PHP 4.2.0, there is no need to seed the random number generator with srand() or mt_srand() as this is now done automatically."
Avatar billede hansi67 Nybegynder
17. april 2007 - 13:02 #2
ok.. jeg forstå ikke helt stadig, men hvis det ikke skal bruges alligevel kan det vel være lige meget ... point givet.
Avatar billede coderdk Praktikant
17. april 2007 - 13:54 #3
Den *kan* bruges til noget - Nemlig til at seede random number generatoren :) Hvis du f.eks. seeder den med et bestemt tal, er det altid den samme "tilfældige" talrække der kommer ud af mt_rand kald...
Men den du har postet er ment til at lave "rigtigt" tilfældige tal - Og det er ikke nødvendigt [længere] :)
PS. Du har glemt at acceptere svaret :)
Avatar billede hansi67 Nybegynder
18. april 2007 - 13:46 #4
super.. det var bedre.. takker ... accepteret er done! :))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester