29. juli 2001 - 19:40Der er
19 kommentarer og 3 løsninger
Dagens gode råd
Hvordan kan jeg lave en liste og få PHP til at vælge en tilfældig ting fra den? Det er ligemeget om det er et array, en variabel eller simpelthen en selvstændig fil.
Det skal bar fungere således at jeg kan lave en liste med en masse gode råd, men det skal kun være det ene af dem der bliver vist ad gangen. Og det skal være helt tilfældigt.
Jeg kunne ikke rigtig få El Barto\'s til at virke. Jeg skal lige teste Barefoot\'s med arrays, det tror jeg på en måde lidt mere på. Det ser i hvert fald mere overskueligt ud :)
el_barto => Du hentede et script og postede og det er ikke særligt overskueligt da du har \"licensen\" i toppen, og dårlige kommentarer i midten. Forresten henter du en fil ind. Jeg laver mit eget indhold i arrays.
Hvis endeligt du skulle pointere noget er det at fl\'s løsning er 100% identisk med min bortset fra at han akgiver tal hvor min laver dem automatisk...
Synes godt om
Slettet bruger
30. juli 2001 - 12:51#13
barefoot> Rolig nu, jeg har ikke skrevet noget dårligt om dig, tværtimod prøver jeg at pointere at fl laver næsten samme kode som dig...
Barefoot\'s virker! Har ikke prøvet fl\'s, men det ser jo ud til at være næsten det samme. Der er bare et problem. Det er ikke helt tilfældigt hvilket råd der bliver valgt. Det afhænger åbenbart af microtime. Hvordan virker det der microtime? Hvis jeg f.eks. stiller den til 6000 så vælger den kun imellem de første fire-fem stykker. Og indtil videre har jeg otte. Er der nogen der har en forklaring?
srand() er en funktion til at indstille rand(). Mitrotime() angiver tiden i microsekunder, og da den hele tiden er forskellig vil den kunne brugea til at generere et tilfældigt tal ud fra.
Hvad mener du med at stille den til 6000? Stille hvad til 6000?
istedet for microtime()*1000000 skriver jeg microtime()*6000 og det har åbenbart en virkning på hvad der bliver valgt. Men i dag virkede det alligevel, såæhh...Jeg må vel hellere få uddelt point!
Barefoot var den der svarede bedst, så han får de fleste. El_barto havde jo egentlig bare et copyrigth-beskyttet script, og Fl svarede næsten det samme som bare foot. Håber i kan accaeptere fordelingen!! Mange tak allesammen!!!
(doubble)microtime returnerer den nuværende tid i microsekunder, og der er et komma tal som kunne se sådan ud: 0,955623 Microtime bruger en bestemt algorimte til at udregne det tilfældige tal på baggrund af hvad den har fået opgivet i srand(). Hvis du altid skriver srand(3) vil du altid få det samme retultat med rand() !! Jo flere ciffre et tal har jo flere kombinationsmuligheder har det. Når du ganger med 6000 vil du få et tal som dette: 351,653 der er altså kun 999 kombinationsmuligheder hvor der er 999999 muligheder, og hver gang er tallet forskelligt da det er bestemt af microtiden som hele tiden ændrer sig. Du opnår altså større tilfældighed ved at gange med 1000000 end du gør med 6000.
Ved at gange med 1000000 opnår du 1000000 forskellige mønstre som rand() kan bruge til at udregne det tilfældige tal. Med 6000 er det kun 6000 mønstre, eller 166,6 gange mindre.
Hvad skete der forresten med det sidste point? el_barto fik 5, jeg fik 20 og fl fik 4, det er kun 29 i alt, og der blev givet 30.. Det må være en fejl i experten....
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.