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

Beitrag lesen

Hello,

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?  
  
Ja.  
Ich habe rand($min, $max) benutzt:  
  
~~~php
  
for ($len = 1; $len < rand(2,126); $len++)  
{  
    $_numbers['dec'][$len] = rand(1,126);  
    $_numbers['pack'][$len] = pack('n', $_numbers['dec'][$len]);	  
}  
  

Mit mt_rand() geht es besser :-)

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bikers-lodge.com