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 частини складаються з чотирьох знаків кожна, всі різні.
  • 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.0.2

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)
	);
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *