uniqid
(PHP 4, PHP 5, PHP 7, PHP 8)
uniqid — Створити унікальний ID
Опис
uniqid(string $prefix = "", bool $more_entropy = false): string
Отримує унікальний ідентифікатор з префіксом, що базується на поточному часі в мікросекундах.
Застереження
Функція не створює криптографічно захищені значення та не повинна використовуватися для криптографічних цілей або цілей, що вимагають, щоб значення, що повертаються, були недоступні для розгадування.
Якщо потрібна криптографічно безпечна випадкова послідовність, можна використати клас Random\Randomizer з двигуном Random\Engine\Secure. Для простих сценаріїв є функції random_int() і random_bytes() із зручним API криптографічно безпечного генератора псевдовипадкових чисел (CSPRNG), що підтримується операційною системою.
Увага
Ця функція не гарантує отримання унікального значення. Більшість операційних систем синхронізує час з NTP, або його аналогами, тому системний час постійно змінюється. Отже, можлива ситуація, коли ця функція поверне неунікальний ідентифікатор для процесу/потоку. Щоб збільшити ймовірність отримання унікального значення, використовуйте параметр more_entropy
Список параметрів
prefix
Може бути корисно, наприклад, якщо ідентифікатори генеруються одночасно на декількох хостах і генерація ідентифікаторів виробляється в одну й ту саму мікросекунду.
З порожнім параметром prefix
, що повертається рядок буде довжиною 13 символів. Якщо параметр more_entropy
равен**true
**, то рядок буде довжиною 23 символи.
more_entropy
Якщо дорівнює true
, то функцияuniqid() додасть додаткову ентропію (використовуючи комбінований лінійний конгруентний генератор) в кінці значення, що повертається, що збільшує ймовірність унікальності результату.
Значення, що повертаються
Повертає унікальний ідентифікатор у вигляді рядка.
Увага
Ця функція намагається створити унікальний ідентифікатор, але це не дає 100% гарантії унікальності.
Приклади
Приклад #1 Приклад використання uniqid()****
Loading...
Примітки
Зауваження :
В Cygwin параметр
more_entropy
повинен бути заданий якtrue
до роботи цієї функції.
Дивіться також
- random_bytes() - Отримує криптографічно безпечні випадкові байти