Я лично использую date('U')
, чтобы сгенерировать строку, основанную на количестве секунд, прошедших с UNIX EPOCH. Если это не достаточно случайно (если вы думаете, что в одну и ту же секунду вы разместите два ордера), просто добавьте еще один слой с mt_rand(0,9)
:
$uniqid = date('U') . mt_rand(0,9);
Это почти во всех случаях даст вам инкрементный идентификатор, за исключением случая, когда ордера создаются в ту же секунду, и в этом случае второй ордер может предшествовать первому.