3v4l.org

run code in 300+ PHP versions simultaneously
<?php for ($i=0; $i < 100; $i+=1){ $array = generate(); echo "id: $array[0]<br>key: $array[1]\n\n"; } function generate(){ $char = "0123456789ABCDEFGHJKLMNPQRTUVWXY"; $id = NULL; $id .= substr($char, rand(1, 9), 1); $id .= substr($char, rand(10, 31), 1); $id .= substr($char, rand(10, 31), 1); $id .= substr($char, rand(1, 9), 1); $id .= substr($char, rand(1, 9), 1); $hash = md5($id); $i = 0; $key = NULL; for ($i; $i < 32; $i+=2) { $nchar = hexdec(substr($hash, $i, 2)) & 31; if ((($i % 8) == 0) && ($i > 0)) { $key .= "-".substr($char, $nchar, 1); } else { $key .= substr($char, $nchar, 1); } } $array = array($id, $key); return $array; }

preferences:
26.86 ms | 402 KiB | 5 Q