3v4l.org

run code in 300+ PHP versions simultaneously
<?php function uuid7(): string { $msec = (int)(microtime(true) * 1000); // 48-bit timestamp (big-endian) $timeBytes = pack("J", $msec); $timeBytes = substr($timeBytes, -6); $rand = random_bytes(10); $bytes = $timeBytes . $rand; // Version 7 $bytes[6] = chr((ord($bytes[6]) & 0x0f) | 0x70); // Variant RFC 4122 (10xx) $bytes[8] = chr((ord($bytes[8]) & 0x3f) | 0x80); $hex = bin2hex($bytes); return sprintf( '%s-%s-%s-%s-%s', substr($hex, 0, 8), substr($hex, 8, 4), substr($hex, 12, 4), substr($hex, 16, 4), substr($hex, 20) ); } for ($i = 0; $i < 100; $i++) { echo uuid7() . PHP_EOL; }

preferences:
24.57 ms | 411 KiB | 5 Q