Генерація унікального id на php
Відео: Генерація унікальних ID товарів або статей при парсінгу контенту
Дуже часто при розробці сайтів потрібно генерувати унікальний ID на PHP. Наведу приклад, з яким я зіткнувся в своїй практиці. Я займався Інтернет-магазином, і там були 2 типу товарів, які настільки різні за своєю природою, що відправляти замовлення в одну таблицю було вкрай нерозумно. Але якщо я розміщую замовлення по 2-м таблицями, то ID кожного замовлення не є унікальним. Адже може бути 10-й замовлення в першій таблиці і 10-й замовлення в другій таблиці. І як їх розрізняти? Ось цю проблему я і вирішив. А як, Ви дізнаєтеся з цієї статті.
Я додав у кожну таблицю по одному полю key, в яке помістив унікальне значення, залежне від поточного часу, яке, як відомо, не стоїть на місці (якщо, звичайно, сервер не рухається зі швидкістю світла). Ось так це виглядало:
lt ;?php
$ key = md5(microtime(true)) -// MD5-хеш поточного часу з точністю до сотих секунди
?gt;
І потім цей key я записував в таблицю із замовленням. І потім ідентифікував замовлення не по його ID, а саме по ключу, який був унікальним для кожного замовлення.
Відео: Швидкий Аналіз конкурентів і створення Унікального Торгового Пропозиції Запис уроку
Начебто все добре, однак, не так давно я знайшов чудову функцію, яка називається uniqid (), яка дозволяє ще краще уникализировать ID.
lt ;?php
$ id_1 = uniqid() -// 508e12465f75b
$ id_2 = uniqid("Pref_") -// pref_508e12465f7bb
$ id_3 = uniqid("Pref_",true) -//pref_508e12465f7c15.02077905
?gt;
Варіант без параметрів аналогічний моєму варіанту, тільки він коротший (і в плані коду, і в плані результату). А тепер опис параметрів:
Відео: How To Generate Unique ID in PHP
- prefix (За замовчуванням, порожній рядок) - якийсь набір символів, який буде з`єднуватися з унікальним ID. Це дуже корисно, якщо Ви хочете дійсно високу унікальність, щоб ця функція не збіглася результатом, наприклад, з яким-небудь іншим сайтом. Головне, придумати префікс поунікальнее.
- more_entropy (за замовчуванням, false) - якщо стоїть true, то в значення ID буде додана додаткова ентропія. Тим самим, результат буде ще більш унікальним.
Ось так легко генерується унікальний ID на PHP. Ви можете використовувати мій спосіб, а можете використовувати функцію uniqid (). Якщо використовувати просто uniqid () без параметрів або тільки з префіксом, то швидкість генерації вище в 1.5-2 рази (в абсолютному значенні - це мізер, але все-таки). А якщо з ентропією, то без різниці. Особисто я перейду на uniqid (), все-таки гарантувати, що не буде 2-х замовлень в одну соту секунди, не варто. А ось швидкість генерації унікального ID вище, менше коду, та й сам ID компактніше.
- Prompt - зміна запрошення командного рядка cmd windows.
- Get taxi
- 220 Вольт
- Aliexpress shopping
- Uber
- Wildberries
- Ваш агент online
- Максим: замовлення таксі
- Rutaxi онлайн
- Microsoft: в сша відкритий передзамовлення на ос windows 8.1
- Amazon: windows 10 на флеш-носії вже доступна для попереднього замовлення
- Вийшов відеокурс "створення інтернет-магазину на php і mysql"
- Як дізнатися час виконання скрипта
- Продано 10 мільйонів пристроїв raspberry pi
- Вибрати відразу багато даних з таблиці excel.
- Замовлення сайту під ключ
- Скласти вибірково дані з таблиці excel.
- Мінімальні і максимальні значення в excel
- Управління таблицями в phpmyadmin
- Смартфон nokia lumia 630 доступний для замовлення
- Перерва в написанні статей