Op de PHP website: http://php.net/manual/en/function.srand.php
staat er te lezen:

"Note: 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."

Ik weet dit al een tijdje en gebruik dus al lange tijd geen srand() meer,
maar nu heb ik zonet een test aan het runnen geweest waarbij ik volgende resultaten krijg:

000100111110000110001111000

(waarbij elk getal staat voor 1 keer random genereren, waarbij er ofwel 0, ofwel 1 wordt gegenereerd )

Er zijn veel seqeunties te zien van heel de tijd hetzelfde getal, terwijl volgens de kansen het eerder naar de buurt van 010101010101 zou moeten neigen.

Is dit nu toeval?

Of is die "automatische seed" echt niet zo interessant en moet je dus toch nog altijd een srand gebruiken zoals:
srand((double)microtime()*1000000);

Iemand die hier wat meer van kent?
Test het eens uit.
Als je het uittest dan krijg je 50 % keer 0 en 50 % keer 1 terug, wat logisch is.
Maar dan ben ik nog niet veel mee, als je zoiets echt wil uittesten dan moet je er statistische theoriejen op gaan lanceren die uitrekend of de afwijking een normale of een abnormale afwijking is.

Maar zoveel kennis heb ik echt niet om zo maar eens "uit te testen". Daarom dat ik op zoek ben naar een antwoord van iemand die echt meer weet over de technische aspecten van dit probleempje, misschien ook gewoon door ervaring :-)
Het is inderdaad niet random. Ik geloof dat het op tijd gebaseerd is, wat weer een bepaalde logica heeft hé. Dat zorgt er dus voor dat het niet random is. Lees ook dit en dit.
Edit: My bad, mt_rand is wel random.
bedankt voor de info Karl,
ik zal de rand() function gebruiken en de seed
srand((double)microtime()*1000000);

Daar zal ik het voorlopig mee moeten doen.

Reageren