uniqid()
uniqid() — Generate a time-based identifier.
Built-in function of PHP 8.5. The manual lists it as available in PHP 4, PHP 5, PHP 7, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.
What it does
Gets an identifier based on the current time with microsecond precision, prefixed with the given prefix and optionally appending a randomly generated value.
Signature
uniqid(string $prefix = "", bool $more_entropy = false): string
Parameters
| Parameter | Type | What it takes |
|---|---|---|
| $prefix | string | Can be useful, for instance, if you generate identifiers simultaneously on several hosts that could generate the same identifier at the same microsecond. (This can happen even on a single host if the system clock is moved backwards, such as by an NTP adjustment.) |
| $more_entropy | bool | If set to true, uniqid() will add additional entropy (using the combined linear congruential generator) at the end of the return value, which increases the likelihood that the result will be unique. |
Return value
Returns timestamp based identifier as a string. This function does not guarantee the uniqueness of the return value.
Example
A runnable snippet:
/* A uniqid, like: 4b3403665fea6 */ printf("uniqid(): %s\r\n", uniqid()); /* We can also prefix the uniqid, this the same as * doing: * * $uniqid = $prefix . uniqid(); * $uniqid = uniqid($prefix); */ printf("uniqid('php_'): %s\r\n", uniqid('php_')); /* We can also activate the more_entropy parameter, which is * required on some systems, like Cygwin. This makes uniqid() * produce a value like: 4b340550242239.64159797 */ printf("uniqid('', true): %s\r\n", uniqid('', true));
See also
All PHP 8.5 built-in functions
Reference card built from the PHP manual page uniqid() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.