$rand float - někde mám chybičku ?
3 příspěvky
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Když je náhodné číslo 1 - nevypíše to nic - ale mělo by... poraďte kde mám prosím chybu ? Díky Ji <?php $kolik=rand(1,5); echo "padlo číslo $kolik ! </p>"; srand((float) microtime() * 33); $input = array("jedna", "dva", "tři", "čtyři", "pět"); $rand_keys = array_rand($input, $kolik); echo $input[$rand_keys[0]] . "<br>"; echo $input[$rand_keys[1]] . "<br>"; echo $input[$rand_keys[2]] . "<br>"; echo $input[$rand_keys[3]] . "<br>"; echo $input[$rand_keys[4]] . "<br>"; ?>
-
Problém je, že array_rand() pokud druhý parametr nemá, nebo má hodnotu 1 nevrací pole, ale pouze proměnnou.. Řešením může být něco jako toto: $c = count($rand_keys); if($c==1) echo $input[$rand_keys] . "<br>"; else{ for($i=0;$i<$c;$i++) echo $input[$rand_keys[$i]] . "<br>"; } ___ Jinak je to napsáno i v manuálu - vrací mixed var, nikoli array .. ;)
-
... napsáno i v manuálu ... cz.php.net/array_rand