/ 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
Hvad er seed for noget?
Fra : Martin Lorentzen


Dato : 26-02-03 12:19

Hejsa

Jeg er ret grøn i PHP-verdenen. Jeg sidder og vil lave noget kode der
printer en vilkårlig linie ud fra en tekstfil. For mig lyder det ret
simpelt. Jeg er rendt ind i nogle eksempler som går ud på at man starter med
at smide linierne ind i et array. Den er jeg med på, men derefter står jeg
lidt af. Det ser ud som om man derefter skal bruge mt_srand til at lave
noget random seed, der skal bruge noget microtime der ganges med 1
million...hvad pokker er alt det for noget? Hvorfor skal man bruge
tidsbegreber til at trække en s**** tekststreng ud af en fil? :)

Mvh
Martin Lorentzen



 
 
Jacob Bunk Nielsen (26-02-2003)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 26-02-03 12:35

"Martin Lorentzen" <martin@no-spam.jowjow.dk> writes:

> [ ... ] Den er jeg med på, men derefter står jeg lidt af. Det ser ud
> som om man derefter skal bruge mt_srand til at lave noget random
> seed, der skal bruge noget microtime der ganges med 1 million...hvad
> pokker er alt det for noget? Hvorfor skal man bruge tidsbegreber til
> at trække en s**** tekststreng ud af en fil? :)

Det er fordi en computer ikke umiddelbart kan lave tilfældige tal
selv. Derfor laver man vha. forskellige algoritmer pseudo-tilfældige
tal. Det vil sige at man at man altid vil få den samme sekvens af
tal.

Når man så seeder sin algoritme giver man det et eller andet input,
som gør at den starter et andet sted i sekvensen, eller genererer en
helt anden sekvens. Tiden er et fint seed da den hele tiden ændrer
sig, og man derfor vil få et nyt seed hver gang.

Der er skrevet tykke bøger om at generere tilfældige tal. Knuths "The
art of computer programming" er en af de mere berømte der behandler
emnet.

--
Jacob - www.bunk.cc
Too much is not enough.

Jonas Koch Bentzen (26-02-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 26-02-03 13:06

Martin Lorentzen wrote:
>
> Det ser ud som om man derefter skal bruge mt_srand til at
> lave noget random seed, der skal bruge noget microtime der ganges med 1
> million...hvad pokker er alt det for noget? Hvorfor skal man bruge
> tidsbegreber til at trække en s**** tekststreng ud af en fil? :)

Hvis du bruger PHP 4.2.0 eller en nyere version, er det ikke nødvendigt at
bruge srand() før man bruger rand().

Altså:

$navne = array("Hans", "Niels", "Jens");
$tilfaeldigPerson = $navne[0, count($navne) - 1)];

--
Jonas Koch Bentzen

http://findhim.com/

No1 (26-02-2003)
Kommentar
Fra : No1


Dato : 26-02-03 13:47


"Jonas Koch Bentzen" <ingen.email@eksempel.dk> skrev i en meddelelse
news:b3iaj6$8cg$2@sunsite.dk...
> Martin Lorentzen wrote:
> >
> > Det ser ud som om man derefter skal bruge mt_srand til at
> > lave noget random seed, der skal bruge noget microtime der ganges med 1
> > million...hvad pokker er alt det for noget? Hvorfor skal man bruge
> > tidsbegreber til at trække en s**** tekststreng ud af en fil? :)
>
> Hvis du bruger PHP 4.2.0 eller en nyere version, er det ikke nødvendigt at
> bruge srand() før man bruger rand().
>
> Altså:
>
> $navne = array("Hans", "Niels", "Jens");
> $tilfaeldigPerson = $navne[0, count($navne) - 1)];

Du glemte vist rand
Sådan her du mente:
$tilfaeldigPerson = $navne[rand(0, count($navne) - 1))];
?



Jonas Koch Bentzen (26-02-2003)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 26-02-03 14:26

No1 wrote:
>
> Du glemte vist rand

Jeps :)

> Sådan her du mente:
> $tilfaeldigPerson = $navne[rand(0, count($navne) - 1))];
> ?

Ja.

--
Jonas Koch Bentzen

Martin Lorentzen (26-02-2003)
Kommentar
Fra : Martin Lorentzen


Dato : 26-02-03 15:05

Ok, takker alle :)

Men jeg har fundet en funktion der hedder array_rand der ser ud til at virke
fint.

$lines = file ('haddock.txt');
$randomline = array_rand($lines,1);
echo $lines[$randomline];

Mvh
Martin Lorentzen

"Martin Lorentzen" <martin@no-spam.jowjow.dk> wrote in message
news:b3i7r7$4v2$1@news.cybercity.dk...
> Hejsa
>
> Jeg er ret grøn i PHP-verdenen. Jeg sidder og vil lave noget kode der
> printer en vilkårlig linie ud fra en tekstfil. For mig lyder det ret
> simpelt. Jeg er rendt ind i nogle eksempler som går ud på at man starter
med
> at smide linierne ind i et array. Den er jeg med på, men derefter står jeg
> lidt af. Det ser ud som om man derefter skal bruge mt_srand til at lave
> noget random seed, der skal bruge noget microtime der ganges med 1
> million...hvad pokker er alt det for noget? Hvorfor skal man bruge
> tidsbegreber til at trække en s**** tekststreng ud af en fil? :)
>
> Mvh
> Martin Lorentzen
>
>



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

Månedens bedste
Årets bedste
Sidste års bedste