03. september 2001 - 21:04Der er
27 kommentarer og 4 løsninger
Tilfældig rækkefølge
Jeg skal have tallene fra 1-8 sat i tilfældig rækkefølge. Hvad er den smarte måde at gøre det på? (Den usmarte må være at lave en lille tabel med kun de 8 poster og bruge ORDER BY rand())
så skal du lave et array med 8 elementer og fylde det op i en lykke med den af sunlock beskrevede metode medens du for hvert gennemløb enten foretager en vurdering om tallet er valgt før - eller trækker det valgte tal fra\"puljen\".
Ja, og den sandsynlighed er ret stor :-) Specielt når der er så få tal at vælge imellem, men det er det jo altid, også hvis du tager 8 lapper papir og trækker en tilfældig en, så er sandsynligheden for at du trækker den samme 2 gange efter hindanden ret meget større end hvis der var 10000000 lapper papir ;-) Men det er nok den bedste måde at gøre dette på.
Det var det jeg prøvede at antyde med den \"usmarte\" metode. Altså man tager 8 nummererede bolde, smider dem ned i en pose, og rører rundt hvorefter man tager en op ad gangen uden tilbagelægning. Kan det gøres relativt enkelt?
Hvis det er en stor side med mange besøgende er det blæst, da du så altid skal mindste databasens arbejde/størrelse mest muligt, men ellers er den jo fin nok (ideen altså). Ellers kan du gøre som jelzin101 foreslog
Jamen så brug rand() og se om den værdi, du får ud allerede er taget ud... eller gør som jelzin101 siger, med et array. Så kan du fjerne den værdi der bliver taget ud :9
Uanset hvad... Hvis du vil have det UDEN tilbagelægning (så du aldrig får det samme tal 2 gange, så bliver du nødt til at lave en form for løkke hvor alle de tal som er blevet udtrukket bliver gemt i en variabel for sig selv, og hver gang et tal bliver udtrukket skal du tjekke om det er identisk med en af de andre variabler... Det er besværligt men højest sandsynligt den eneste måde at gøre det på :-(
For 15 point ekstra er der så en af jer der gider skrive sådan en løkke for mig? (Mit php-kendskab kan ligge på et meget lille sted, så det ville tage mig længere tid end jeg bryder mig om at tænke på :)
lol ikke fordi jeg er en points freak... MEEEEEN var det ikke at stramme den ikke at give mig ngoen points?
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.