На сайте постоянно создаются заказы. На каждый заказ необходимо сгенерировать уникальный id. Он должен быть достаточно простым для восприятия человеком и обязательно не должен повторятся.
Нельзя использовать id с базы данных и как либо на него ориентироваться.
Пока придумал подвязаться на time() и частично перевести его в цифры. Для лучшей читаемости.
Примерно так
код PHP
$letters='QWERTYUIOPASDFGHJKLZXCVBNM1234567890';
$count=strlen($letters);
$intval=time();
$result='';
for($i=0;$i<4;$i++) {
$last=$intval%$count;
$intval=($intval-$last)/$count;
$result.=$letters[$last];
}
echo $result.$intval;
в результате получаю примерно такой код WKI0-811
в конец добавляю rand(10,99) для исключения дубляжей в ту же секунду. Получаю такое WKI0-811-45
Длинна и сложность кода устраивает. Не нравится 1. Возможность дубляжей хоть и очень небольшая. 2. Окончание 811 очень редко изменяется. Поскольку это грубо говоря года из time().
Также я уверен что есть более красивые решения. Спасибо за внимание