Скрипт генерации

zero20

Гуру форума
Регистрация
23 Апр 2006
Сообщения
243
Реакции
57
Может кто поможет, нужен скрипт такого плана.
Есть два массива а и б содержащих заданные символы (цифры и буквы), нужно из этих массивов по заданной маске сделать генерацию.

Например задаем маску аббабаа и все полученные варианты вывести.
 
Что-то несовмес понятна задача, объясни по подробнее суть...
сейчас это выглядит как обычная рандомная генерация
 
в принципе да, она и нужна случайная генерация символов из массивов. Я просто в програминге не разбираюсь, поэтом и вопрос такой.
 
в принципе да, она и нужна случайная генерация символов из массивов. Я просто в програминге не разбираюсь, поэтом и вопрос такой.
Смотри, если тебе нужна просто случайная генерация символов, то не обязательно это делать из массивов, есть более простое решение.
К примеру, есть функции
mt_rand - генерирует случайное значение.
uniqid - генерирует уникальный id.

Ну а дальше, смотря какая задача, если тебе нужно сгенерировать что-то такое что трудно угадать :)
тогда можно использовать такой код:
PHP:
$char = md5(uniqid(mt_rand(), true));
 
Генерация нужна случайна, но из заданных значений. Например в массиве 1 задаются значения (допустим цифры от 1 до 7), а в массиве 2 - буквы a,b,c,d
и по заданной маске допустим 121122 (это массивы 1 и 2) генерируются все возможные значения в рамках значений из массивов.
На выходе: 2ab31cd; 3cb43ab; и т.д.
 
Последнее редактирование:
На выходе: 2ab31cd; 3cb43ab; и т.д.
PHP:
$char = md5(uniqid(mt_rand(), true));
$uuid = substr($char, 0, 8) . '-' . substr($char, 8, 4) . '-' . substr($char, 12, 4) . '-' . substr($char, 16, 4) . '-' . substr($char, 20, 8);
На выходе: 7f292e24-cd03-8b3c-d247-70d139f8

Если тебе нужно, чтобы было как в твоем примере, то:
PHP:
$char = md5(uniqid(mt_rand(), true));
$uuid = substr($char, 0, 7);
 
  • Заблокирован
  • #7
А не подскажите как сделать, чтобы была генерация еще и из символов по мимо цифр и букв и с ограничением по длине, например в 30 символов на выходе.
 
  • Заблокирован
  • #8
А не подскажите как сделать, чтобы была генерация еще и из символов по мимо цифр и букв и с ограничением по длине, например в 30 символов на выходе.
Немного не так сформулировал. Вот код:

$len = 30;
$symbol_array = "QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm0123456789";
$max = strlen($symbol_array) - 1;
$pass = "";
for($i = 0;; $i++) {
$pass .= $symbol_array[rand(0, $max)];
if($i == $len-1) break;
}
Тут идет массив для генерации $symbol_array без символов, надо что-то сюда добавить, чтобы были и символы, а также на выходе получается просто вот так: 1Q52og4YJ59ig5T87UOh7hjOs, а хотелось бы чтобы было вот так: 1Q52o-g4YJ5-9ig5T-87UOh-7hjOs

Подскажите как это сделать?
Спасибо.
 
  • Заблокирован
  • #10
Назад
Сверху