05. september 2011 - 17:29Der er
7 kommentarer og 1 løsning
PHP - Generér 200 tilfældige, men unikke numre.
Hej Eksperter.
Jeg har for sjov siddet og rodet med at få genereret 200 tilfældige numre, men jeg kan ikke få dem til at være unikke - altså 200 forskellige numre!
Jeg har lavet følgende kode: $Total = 0; $NumberOld = 0; While ($Total != 200) { $Random = mt_rand(60,300); $NumberNew = $Random." "; If ($NumberNew != $NumberOld) { file_put_contents("number.txt", $NumberNew, FILE_APPEND); file_put_contents("total.txt", $Total); $Total++; } $NumberOld = $NumberNew; } som ganske vist genererer 200 numre, men de er ikke unikke - hvad gør jeg forkert?
Jeg har prøvet en masse forskelligt. Deriblandt at ændre: $NumberNew = $Random." "; til $NumberNew = "100"; og så laver scriptet ganske rigtigt kun ét tal, men kommer så til gengæld med en timeout fejl, fordi, den jo ikke kan generere 200 tal. Jeg har også prøvet forskellige placeringer af $NumberOld = $NumberNew; linjen, men heller ikke dette hjalp.
Jeg går ud fra, at kontrollen af om $NumberNew og $NumberOld ikke er lig hinanden fejler fordi $NumberOld ikke bliver ført med rundt i hele loopet?
Håber ikke, jeg har forvirret Jer nu - jeg prøver bare at komme med så meget info som muligt. ;o)
100 point gives! Ikke fordi spørgsmålet er så vigtigt - bare for at opildne Jer til at svare. :)
Jeg vil foreslå dig at putte alle tal fra 60 til 300 ind i et array, og så tilfældigt fjerne et tal (ud fra et tilfældigt index) fra arrayet til der er 200 tal tilbage.
Alle 3 metoder gør det samme, eller? Jeg må indrømme, at jeg har lidt svært ved et gennemskue, hvad de gør, samt hvordan jeg skal implementere dem i min eksisterende kode. Jeg skal bruge alle tallene samlet i en tekstfil, hvorfor jeg havde lavet det i min kode. :)
Tjah, du må da gerne få pointene, så vi kan lukke tråden, men jeg er ikke kommet videre i sagen. Jeg har ikke kunne gennemskue dine koder og heller ikke kunne gennemskue, hvordan jeg skulle bruge Array'et til noget - derudover skulle jeg ikke bruge det til noget vildt seriøst, så da jeg fandt ud af, hvor bøvlet det var for mig, så droppede jeg det! :)
Men hvis du kan uddybe nærmere, hvordan jeg kan bruge Array'et, så er du da velkommen. Men lav et svar (i stedet for en kommentar), så får du pointene prompte! :-)
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.