/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Random tal
Fra : Wyrlex


Dato : 16-01-02 05:09

Jeg mangler noget som kan lave en masse random tal hurtig men det jeg har
kan ikke lave dem hurtig nok:

<?
function make_seed() {
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
function spacerChar($chars, $string) {
$length = strlen($string);
$spacerChar = "0";
if ($length < $chars) {
$distance = $chars - $length;
for ($i = 0; $i < $distance; $i++)
$string = $spacerChar.$string;
}
return $string;
}
for($i=1;$i<=20;$i++){
srand(make_seed());
$randval = spacerChar(4, rand(0, 9999));
echo $randval;
}
?>

denne vil lave et sted mellem 4 og 5 random nummere og den eneste løsning
jeg har fundt på det problem er at lave en for løkke som tæller op til
20.000 uden grund for at sløve den ned.

nogen som kender en anden måde?

MVH
Wyrlex



 
 
Christian Joergensen (15-01-2002)
Kommentar
Fra : Christian Joergensen


Dato : 15-01-02 20:43

Wyrlex <wyrlex@partykalender.dk> wrote:

> Jeg mangler noget som kan lave en masse random tal hurtig men det jeg har
> kan ikke lave dem hurtig nok:

[snip - kode]

> denne vil lave et sted mellem 4 og 5 random nummere og den eneste løsning
> jeg har fundt på det problem er at lave en for løkke som tæller op til
> 20.000 uden grund for at sløve den ned.

For det første er der slet ingen grund til disse funktioner. For det andet
skal du kun seed'e en gang. Følgende kode burde gøre tricket godt nok
(utestet):

<?php
$antal_numre = 100;
srand((double) microtime() * 1000000);
for ($i = 0; $i < $antal_numre; $i++)
print rand(0, getrandmax());
?>

--
Christian Jørgensen / Do not look into the laser with remaining eye!
http://www.razor.dk /


Wyrlex (16-01-2002)
Kommentar
Fra : Wyrlex


Dato : 16-01-02 06:28


"Christian Joergensen" <mail@phpguru.dk> wrote in message
news:1612447.46939RiAys@flaf...
> Wyrlex <wyrlex@partykalender.dk> wrote:
>
> > Jeg mangler noget som kan lave en masse random tal hurtig men det jeg
har
> > kan ikke lave dem hurtig nok:
>
> [snip - kode]
>
> > denne vil lave et sted mellem 4 og 5 random nummere og den eneste
løsning
> > jeg har fundt på det problem er at lave en for løkke som tæller op til
> > 20.000 uden grund for at sløve den ned.
>
> For det første er der slet ingen grund til disse funktioner. For det andet
> skal du kun seed'e en gang. Følgende kode burde gøre tricket godt nok
> (utestet):
>
> <?php
> $antal_numre = 100;
> srand((double) microtime() * 1000000);
> for ($i = 0; $i < $antal_numre; $i++)
> print rand(0, getrandmax());
> ?>
>
> --
> Christian Jørgensen / Do not look into the laser with remaining eye!
> http://www.razor.dk /
>
Koden virker fint :)

Mange tak for hjælpen



Søg
Reklame
Statistik
Spørgsmål : 177505
Tips : 31968
Nyheder : 719565
Indlæg : 6408554
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste