Для чего можно использовать генератор случайных чисел и слов?
Например, случайный пароль. Рассмотренный ниже скрипт (скорее php код) очень хорошо подходит для таких функций как верификация, создание инвайтов, создание автоматического сложного пароля и последующего его отправки на мыло и многого др.
Также генератор можно использовать как защитный код (или капча). Такой код может выводиться, например, в виде картинки. В общем, приведенный ниже скрипт генерации, очень полезен во многом. Куда его использовать я оставляю на ваше усмотрение.
Сначала необходимо задать область случайных символов. Делать это будим с помощью двух функций: range и array_merge()
range – эта функция создает диапазон значений, например:
range('A', 'Z') – создаст диапазон от A до Z включительно.
range('0', '9') – создаст диапазон от 0 до 9 соответственно.
array_merge() – слияние массивов.
Создаем переменную $code
$code= array_merge( range('A', 'Z'), range('0', '9'));
она сливает массивы, перечисленные в ее аргументах, в один большой массив и возвращает результат.
Создаем сеансовую переменную $_SESSION и присваеваем ей пустоту
$_SESSION['code'] = ' ';
Запускаем цикл пока не достигнет наш случайный код 5-и знакам.
for ($i = 0; $i < 5; $i++)
И наконец, формируем код:
$_SESSION['code'] .= $code[array_rand($code)];
Ну и проверяем работоспособность нашего кода
echo $_SESSION['code'];
Вот как будет выглядеть наш PHP код:
<?PHP
$code= array_merge( range('A', 'Z'), range('0', '9'));
$_SESSION['code'] ='';
for ($i = 0; $i < 5; $i++)
$_SESSION['code'] .= $code[array_rand($code)];
?>
Еще один очень интересный момент:
Часто из защитного кода, для его лучшего распознания, выкидывают плохо читабельные символы, такие как 0 O 1 J I ну и далее на ваше усмотрение. Делается это очень просто.
$code= array_merge( range('A', 'H'), array('K', 'M', 'N', 'P'),range('R', 'Z'), range('1', '9'));
В данном случае я выкинул I, J, L, O,0 и Q.
array – это ряд конкретных значений.