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

ParameterTypeWhat it takes
$prefixstringCan 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_entropyboolIf 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

random_bytes()

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.