Generate a UUID version 4 in PHP

$b = random_bytes(16);
$b[6] = chr(ord($b[6]) & 0x0f | 0x40);   // version 4
$b[8] = chr(ord($b[8]) & 0x3f | 0x80);   // variant

$uuid = vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($b), 4));