Autor | Zpráva | ||
---|---|---|---|
Mufna Profil |
#1 · Zasláno: 4. 8. 2010, 00:12:43
Zdravím Vás. Někde jsem splašil tuhle funkci pro vytváření náhodného řetězce ze základních písmen a číslic, ale má to jednu mouchu, a to že to občas vygeneruje prapodivné znaky - např. " �2e�kyqkdw " . Myslel jsem že to nějak souvisí s UTF-8, ale v té funkci se nepoužívá žádná diakritika ani jiné cizokrajné zvláštní znaky. Čím to je a jak to můžu odstranit ?
funkce je: function genRandomString() { $length = 10; $characters = ’0123456789abcdefghijklmnopqrstuvwxyz’; $string = ''; for ($p = 0; $p < $length; $p++) { $string .= $characters[mt_rand(0, strlen($characters))]; } return $string; } |
||
martindeveloper Profil |
#2 · Zasláno: 4. 8. 2010, 01:40:14
Odečtěte od výsledku strlen() jedničku a mělo by to být v pořádku.
function genRandomString() { $length = 10; $characters = "0123456789abcdefghijklmnopqrstuvwxyz"; $string = ''; $max = strlen($characters) - 1; for ($p = 0; $p < $length; $p++) { $index = rand(0, $max); $string .= $characters[$index]; } return $string; } |
||
Mufna Profil |
#3 · Zasláno: 4. 8. 2010, 11:40:30
martindeveloper
díky, vypadá to, že to funguje OK |
||
Časová prodleva: 14 let
|
0