3v4l.org

run code in 300+ PHP versions simultaneously
<?php function random($length = 10, $charlist = '0-9a-z') { $charlist = str_shuffle(preg_replace_callback('#.-.#', function($m) { return implode('', range($m[0][0], $m[0][2])); }, $charlist)); $chLen = strlen($charlist); static $rand3; if (!$rand3) { $rand3 = md5(serialize($_SERVER), TRUE); } $s = ''; for ($i = 0; $i < $length; $i++) { if ($i % 5 === 0) { list($rand, $rand2) = explode(' ', microtime()); $rand += lcg_value(); } $rand *= $chLen; $s .= $charlist[($rand + $rand2 + ord($rand3[$i % strlen($rand3)])) % $chLen]; $rand -= (int) $rand; } return $s; } random(20, "0-68-9");

preferences:
36.66 ms | 402 KiB | 5 Q