login  Naam:   Wachtwoord: 
Registreer je!
 Forum

PHP Help random numbers

Offline MisterF - 11/07/2007 21:25
Avatar van MisterFNieuw lid Ik ben op dit moment bezig met een script dat 20 verschillende nummers tussen de 1 en 80 moet maken.

Ik doe dat op de volgende manier
  1. $rand1 = rand(1,80);
  2. $rand2 = rand(1,80);
  3. $rand3 = rand(1,80);
  4. $rand4 = rand(1,80);
  5. $rand5 = rand(1,80);
  6. $rand6 = rand(1,80);
  7. $rand7 = rand(1,80);
  8. $rand8 = rand(1,80);
  9. $rand9 = rand(1,80);
  10. $rand10 = rand(1,80);
  11. $rand11 = rand(1,80);
  12. $rand12 = rand(1,80);
  13. $rand13 = rand(1,80);
  14. $rand14 = rand(1,80);
  15. $rand15 = rand(1,80);
  16. $rand16 = rand(1,80);
  17. $rand17 = rand(1,80);
  18. $rand18 = rand(1,80);
  19. $rand19 = rand(1,80);
  20. $rand20 = rand(1,80);


Mijn probleem is dus nu dat ze wel het zelfde nummer kunnen krijgen. En dat mag niet. Wie kan mij helpen??

7 antwoorden

Gesponsorde links
Offline marten - 11/07/2007 21:31
Avatar van marten Beheerder
  1. <?php
  2.  
  3. $nummers = array(range(0, 80));
  4. $choosen = array();
  5. for($i = 1; $i <= 20; $i++) {
  6. $nr = rand(0,80);
  7. $choosen[$i] = $nr;
  8. unset($nummers[$nr]);
  9. }
  10.  
  11. var_dump($choosen);
  12. ?>


Deze code is niet getest.
Offline smoos - 11/07/2007 21:41
Avatar van smoos PHP gevorderde volgens mij klopt daar geen bal van aangezien je niet kijkt of het getal eral in zit. Het idee is echter wel juist
Offline marten - 11/07/2007 21:42
Avatar van marten Beheerder Het gaat ook om het idee. Een array maken met de nummers en steeds het gekozen getal uit de array verwijderen.
Offline MisterF - 11/07/2007 21:43 (laatste wijziging 11/07/2007 21:45)
Avatar van MisterF Nieuw lid Als ik dat alleen invul krijg ik dit:
  1. array(20) { [1]=> int(18) [2]=> int(63) [3]=> int(42) [4]=> int(58) [5]=> int(39) [6]=> int(15) [7]=> int(42) [8]=> int(25) [9]=> int(17) [10]=> int(35) [11]=> int(61) [12]=> int(68) [13]=> int(31) [14]=> int(13) [15]=> int(54) [16]=> int(40) [17]=> int(79) [18]=> int(62) [19]=> int(64) [20]=> int(52) }


Ik zal mijn hele bedoeling even uitleggen
-------------------------------------------------
Ik ben bezig een Keno spel te maken. Je kan 10 nummers kiezen tussen 1 en 80. Deze moeten allemaal verschillend zijn. Als dat gebeurt is druk je op Submit en dan moet hij controlleren hoeveel hij van de 10 nummers gelijk heeft aan 20 nummers die het script dus zelf kiest tussen 1 en 80.

Misschien kan je het op die manier beter verwerken zoals ik dit bedoel.
Offline Ibrahim - 11/07/2007 21:47
Avatar van Ibrahim PHP expert PHP.net: range maakt toch automatisch een array ? of heb ik het nou verkeerd gelezen van php.net
Offline smoos - 11/07/2007 22:08
Avatar van smoos PHP gevorderde Ja die maakt automaties een array (hij moet wel)

Maar het ging om het idee lol
Offline Scythen - 11/07/2007 22:13
Avatar van Scythen PHP gevorderde Marten, wil jij die code misschien uitleggen? Ik wil hem namelijk snappen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.215s