Here's part of the confusion:

If you were to express the number of microseconds since 1970 in a
decimal number, it would indeed take 16 digits.

But uniqid() returns a /13 character string/, not a 13 digit number. The
string is actually a hexadecimal number (and thus can express a greater
range of values than a decimal number within those 13 characters).


Ahh! The moment when the penny drops. I was looking at the result as a number, not a string.
Solution to problem = use uniqid()

PHP General Mailing List (
To unsubscribe, visit:

Reply via email to