Создайте небольшую функцию, которая возвращает случайные буквы заданной длины:
<?php
function generate_random_letters($length) {
$random = '';
for ($i = 0; $i < $length; $i++) {
$random .= chr(rand(ord('a'), ord('z')));
}
return $random;
}
Тогда вы захотите назвать его, пока он не станет уникальным, в псевдокоде, в зависимости от того, где вы будете хранить эту информацию:
do {
$unique = generate_random_letters(6);
} while (is_in_table($unique));
add_to_table($unique);
Возможно, вы также захотите убедиться, что буквы не образуют слова в словаре. Пусть это будет весь английский словарь или просто словарь дурных слов, чтобы избежать того, что покупатель найдет дурным тоном.
РЕДАКТИРОВАТЬ: Я также добавил бы, что это имеет смысл, только если, поскольку вы собираетесь использовать его, это не для большого количества элементов, потому что это может быть довольно медленным, чем больше столкновений вы получаете (получение идентификатора уже в таблице) , Конечно, вам понадобится индексированная таблица, и вы захотите изменить количество букв в идентификаторе, чтобы избежать столкновения. В этом случае из 6 букв у вас будет 26 ^ 6 = 308915776 возможных уникальных идентификаторов (минус плохие слова), которых должно хватить на 10000.
EDIT:
Если вам нужны комбинации букв и цифр, вы можете использовать следующий код:
$random .= rand(0, 1) ? rand(0, 9) : chr(rand(ord('a'), ord('z')));