wp_generate_uuid4()WP 4.7.0

Генерирует идентификатор - случайную уникальную строку, состоящую из букв и цифр. Создает UUID (Universally unique identifier) версии 4.

Работает на основе 8 функций mt_rand() и имеет формат %04x%04x-%04x-%04x-%04x-%04x%04x%04x - состоит из 5 частей:

  • 1 часть состоит из 8 знаков.
  • 2,3,4 части состоят из 4 знаков каждая, все разные.
  • 5 часть состоит из 12 знаков.

Например:

4c585b5e-5220-4b1d-92e2-316f88210482
Объяснение UUID

UUID представляет собой 128-битное значение (16 байт): Он содержит четыре 4-байтовые цифры, которые представлены в шестнадцатеричной нотации и разделены 4 символами -. Общая длина составляет 36 символов.

Символы - появляются после байта 4, байта 6, байта 8 и после байта 10.

Поскольку это шестнадцатеричное значение, UUID следует рассматривать без учета регистра:
11223344-5566-7788-99AA-BBCCDDEEFF00 идентичен 11223344-5566-7788-99aa-bbccddeeff00.

Эта функция всегда возвращает строку в нижнем регистре.

Чтобы получить 32-символьную строку (такую же, как MD5), вы можете использовать:

$uuid36 = wp_generate_uuid4(); // a938e855-483e-48c7-9b98-f41e90511f77
$uuid32 = str_replace( '-', '', $uuid36 ); // a938e855483e48c79b98f41e90511f77

Чтобы проверить, является ли строка кодом UUID, используйте функцию wp_is_uuid().

Используйте стандартную PHP функцию uniqid(), если нужен упрощенный вариант UUID.

1 раз — 0. сек (скорость света) | 50000 раз — 0.07 сек (скорость света) | PHP 7.1.5, WP 4.9.4

Хуков нет.

Возвращает

Строку. UUID.

Использование

wp_generate_uuid4();

Примеры

0

#1 Создадим и отобразим UUID

echo wp_generate_uuid4();
//> 9d9c81fc-4233-4b6e-98aa-b553d7d200ab

Список изменений

С версии 4.7.0 Введена.

Код wp_generate_uuid4() WP 6.7.1

function wp_generate_uuid4() {
	return sprintf(
		'%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
		mt_rand( 0, 0xffff ),
		mt_rand( 0, 0xffff ),
		mt_rand( 0, 0xffff ),
		mt_rand( 0, 0x0fff ) | 0x4000,
		mt_rand( 0, 0x3fff ) | 0x8000,
		mt_rand( 0, 0xffff ),
		mt_rand( 0, 0xffff ),
		mt_rand( 0, 0xffff )
	);
}