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