Autor Zpráva
LukasM
Profil *
Zdravíčko,

dá se v php nějak náhodně generovat číslo z předem dané řady čísel?
Například mám pevně daná čísla: 2,5,6,9 a chci aby funkce vybrala náhodně jedno z těchto čísel.
Díky za radu.
Medvídek
Profil
LukasM:
Zkus to dát do pole a pak náhodně vybrat:

array_rand()
Radek9
Profil
LukasM:
<?php
$array = array(2, 5, 6, 9);
echo $array[mt_rand(0, count($array)-1)]
?>
LukasM
Profil *
Děkuji to mě nenapadlo. Díky.
LukasM
Profil *
Ještě mám dotaz. Když bych ty čísla měl uložené v proměnné tak to pak nefunguje, ukázka:

<?php
$ahoj = "2, 5, 6, 9";
$array = array($ahoj);
echo $array[mt_rand(0, count($array)-1)]
?>
MCKAY
Profil
LukasM:
1) Vkládej kód prosím mezi , je to pak přehlednější
2) Nemůže ti to fungovat, když pracuješ s jedním prvkem pole. Radek9 měl pro to, aby to dal do array(); určitě nějaký důvod...;-)
LukasM
Profil *
Za kód se omlouvám, přehlídl jsem. No ale já to v tom array mám přeci taky, akorát to tam vkládám přez proměnou.
Je tedy nějaká možnost aby to fungovalo stejně jako psal Radek9 s tím rozdílem, že ty čísla mám v promenné?
Díky.
MCKAY
Profil
LukasM:
Jestli to nepotřebuješ, je zbytečné to řešit. Vkládáš jako prvek pole jednu proměnnou která obsahuje všechny čísla. Aplikace pracuje s několika prvky pole, ne s jedním, v tom je ten problém. Pokud by si to chtěl nějak upravit, nahraď v proměnné všechno středníkem a pomocí funkce
fgetcsv();
si s tím pohraj.
PetrM
Profil *
LukasM:
<?php
$array = explode(', ', $ahoj);
echo $array[mt_rand(0, count($array)-1)]
?>
Yur4Y
Profil
MCKAY:
Myslím, že je zbytočné sa s tým takto "hrať".
$ahoj = '2, 5, 6, 9';
$array = preg_split('/\s*,\s*/', $ahoj);
MCKAY
Profil
Yur4Y:
Ano, byla to jen jedna z možností...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: