tami: "rand()-Funktion von PHP ist Mist"?

Beitrag lesen

hi ChrisB,

Hi,

Nur die rand()-Funktion von PHP ist Mist.
Die hat tatsächlich bei 1000 Testdatensätzen der Form [...]
45 Doubletten erzeugt *tztz*

Wenn dich das wundert, kann das eigentlich nur bedeuten, dass du Zufall nicht *verstanden* hast :-)

  
<?php  
$counter = 0;  
while($counter < 1000) {  
    $rand[] = rand();  
    $counter++;  
}  
echo count($rand);  
echo "\n";  
$unique = array_unique($rand);  
//var_dump($unique);  
echo count($unique);  

1000
1000
???

Oder habe ich was falsch verstanden?

Geht auch mit 10000.

Mit 100000 nicht, da bleiben nur 32768 übrig. Das ist genau die Zahl, die PHP im Manual angibt:

"Note:  On some platforms (such as Windows), getrandmax() is only 32767."
http://www.php.net/manual/en/function.rand.php

mfg

tami