Guid / Uuid в PHP с MySQL - PullRequest
       14

Guid / Uuid в PHP с MySQL

4 голосов
/ 27 августа 2009

Я бы хотел хранить uuids в базе данных как BINARY (16), но мне нужно принять их и представить в формате XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Прежде чем перейти к разделению guid в PHP-коде (что это интересно!), Есть ли какие-либо библиотеки или функции, которые делают это из коробки?

Ответы [ 2 ]

5 голосов
/ 27 августа 2009

Сначала вы можете удалить тире с помощью Заменить () и затем используйте Unhex ()

Выполняет обратную операцию HEX (str). То есть он интерпретирует каждую пару шестнадцатеричных цифр в аргументе как число и преобразует его в символ, представленный числом.
0 голосов
/ 27 августа 2009

Разве вы не имеете в виду BINARY (36) вместо BINARY (16)

Попробуйте http://pecl.php.net/package/uuid

CakePHP имеет несколько полезных функций для uuids и работает автоматически для CHAR (36) и BINARY (36), насколько я понимаю. В любом случае, вы можете немного покопаться в источнике, чтобы увидеть, есть ли в нем то, что вам нужно.

Edit: вот отдельный класс, который может генерировать и преобразовывать практически в любой формат, который вам может понадобиться: http://www.shapeshifter.se/2008/09/29/uuid-generator-for-php/ Я разместил это в комментарии ниже, но хотел убедиться, что ссылка легко видна другим пользователи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...