» Poradna » Programy

Php - náhodná čísla

Odpovědět  |  Zobrazit bez stromu  |  Upozornit redakci  |  nových odpovědí: 8/8
 |   | 

Potřebuju vygenerovat 10 náhodných čísel v rozmezí 0 až 30, a zároveň potřebuju zajistit, aby nebyla žádná 2 čísla stejná, nevíte někdo jak na to?? Dík

Odpovědi na otázku

 |   |   |  [212.81.24.---]

Pomocou rand(0,30) si vygeneruj cislo a potom ho porovnaj ci si uz take cislo nevygeneroval.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

no, to jsem zkoušel, ale pak mi to tvoří strašně dlouhé kódy, a pak ještě nikdy nemám jistotu, že další číslo, které budu generovat se nebude shodovat s tím prvním, jestliže bych to měl takto zpracovat, tak bych se dostal k tzv nekonečnýmu rozkladu, ...  

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Jaké dlouhé kódy? Vygeneruješ číslo, uložíš jej třeba do pole a pak jen zjistíš, jestli další vygenerované číslo není už v poli obsaženo. Celé to je tak na 2-3 řádky kódu. Opravdu dlouhé...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

můžeš mi prosím tento způsob napsat, já si to nějak nedokážu představit, dík

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Co si na tom chceš představovat?
1. do proměnné si vygeneruješ číslo ($cislo = rand(0,30))
2. otestuješ zda neni v poli (if (in_array($cislo, $pole))...)
3. pokud není, vložíš ho do pole ($pole[] = $cislo)

No a to je tak asi všechno.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Dík, ale pořár nevím, jak bych mohl udělat to, aby se místo toho blbýho čísla vygenerovalo jiné

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Na to tam máš tu podmínku IF - pokud nebude číslo v poli, tak se vloží, v opačném případě se vygeneruje jiné. A celé to budeš mít v cyklu WHILE, kde budeš testovat, jestlu už pole obsahuje těch 10 hodnot celkem...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   | 

Tak jako v delphi nebo c++ je to same tady v PHP pomoci funkce random rand(0,100)+1;  nechat vygenerovat a potom pomoci case nebo podminky if + for , while a sady array zjistit zda generovane cislo jiz existuje pokud ano aby se vratil zpet na generovani cisla , zpusobu je vice prohledej si funkce na www.php.net case,while,if,for,rand urcite si nake vyberes a co ti bude vice vyhovovat .

Souhlasím  |  Nesouhlasím  |  Odpovědět



Určitě si přečtěte


USB-C je konektor, který by chtěl vládnout všem

USB-C je konektor, který by chtěl vládnout všem

** USB-C se tváří jako nejuniverzálnější konektor všech dob ** Pravda je to však jen z části ** Při výběru příslušenství s USB-C dobře studujte parametry

20.  1.  2018 | Stanislav Janů | 61


Aktuální číslo časopisu Computer

Zachraňte nefunkční Windows

Jak nakupovat a prodávat kryptoměny

Otestovali jsme konvertibilní notebooky

Velký test 14 herních myší