![]() |
Random
Пиплы хай.
Кто мне подскажет,как при помощи РНР сделать такую функцию которая б гинерировала случайное "слово" из английских букв (больших и маленьких) и цифр. Длинна этого "слова" составляла 7 символов... Зарание благодарен |
если тебе нужно реальное слово - то из базы этих самых словов случайным образом выбираешь слово (подробнее - здесь )
ежли псевдослово (во сказал :cool: ) то из массива буквово случайным образом читаешь семь буковок и JOIN IT! ;) |
Если все еще актуально вот кусок кода для генерации паролей (в моем случае нужны были пароли)
$makepass=""; $syllables="er,in,tia,wol,fe,pre,vet,jo,nes,al,len,son,cha,ir,ler,bo,ok,tio,nar,sim,ple,bla,ten,toe,cho,co,lat,spe,ak,er,po,co,lor,pen,cil,li,ght,wh,a t,the,he,ck,is,mam,bo,no,fi,ve,any,way,pol,iti,cs,ra,dio,sou,rce,sea,rch,pa,per,com,bo,sp,eak,st,fi,rst,gr,oup,boy,ea,gle,tr,ail,bi,ble,brb,pri,dee,ka y,en,be,se"; $syllable_array=explode(",", $syllables); srand((double)microtime()*1000000); for ($count=1;$count<=4;$count++) { if (rand()%10 == 1) { $makepass .= sprintf("%0.0f",(rand()%50)+1); } else { $makepass .= sprintf("%s",$syllable_array[rand()%62]); } } |
А вот кусочек (а может и не кусочек) моей функции!!! :D :D :D
<? function generate($length = 7) { $string = "qwertyuiopasdfghjklzxcvbnm"; $string .= strtoupper($string); $string .= "123456789"; $array = array(); for($i = 0; $i < strlen($string); $i++) { $array[] = substr($string, $i, 1); }; shuffle($array); $replace = "[^A-Za-z0-9]"; $ge = ereg_replace($replace, "", implode('', $array)); $var = strlen($ge) - $length; $var = ($var < 0 ? 0 : $var); srand(make_seed()); $gen = substr($ge, rand(0, $var), $length); return $gen; }; ?> |
for ($i=0; $i<7; $i++) {
$s.=chr(rand(ord('a'),ord('z'))); } тут только маленькиебуковки новсё остальное я думаю несложно доделать... |
:rolleyes: :confused: :)
А это потвоему что???? :confused: :) :p :) |
:) :) :)
А самое главное забыл вставить $string .= strtoupper($string); |
|
Хмм
а какой значение $i ты присваиваешь в своем цыкле
for ($i=0; $i<7; $i++) { $s.=chr(rand(ord('a'),ord('z'))); } |
слиииииишком сложный вопрос... :)
вроде как от нуля до семи... ему же семь буковок надо было... =) |
| Часовой пояс GMT +4, время: 03:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.