Random Alphanumeric String Generator Script in PHP
These are two functions that you can use to assign random strings of any length. You can use these for session IDs, tracking IDs, validation checks, password generators, etc.
Demonstration of randomly-generated strings, 16 characters long; refresh the page to change the values:
- k9y7l0ux3p3oqytb
- apc0ksefz01dvb6y
- njq4ne05cglej8ip
- rq4akg3j00b5e6n9
- t4amnzx0s03wyw3a
The first function: assign alphanumeric value
The first function is long but simple. We put in a number, 1 to 36, and assign an alphanumeric value to it.
function assign_rand_value($num)
{
// accepts 1 - 36
switch($num)
{
case "1":
$rand_value = "a";
break;
case "2":
$rand_value = "b";
break;
case "3":
$rand_value = "c";
break;
case "4":
$rand_value = "d";
break;
case "5":
$rand_value = "e";
break;
case "6":
$rand_value = "f";
break;
case "7":
$rand_value = "g";
break;
case "8":
$rand_value = "h";
break;
case "9":
$rand_value = "i";
break;
case "10":
$rand_value = "j";
break;
case "11":
$rand_value = "k";
break;
case "12":
$rand_value = "l";
break;
case "13":
$rand_value = "m";
break;
case "14":
$rand_value = "n";
break;
case "15":
$rand_value = "o";
break;
case "16":
$rand_value = "p";
break;
case "17":
$rand_value = "q";
break;
case "18":
$rand_value = "r";
break;
case "19":
$rand_value = "s";
break;
case "20":
$rand_value = "t";
break;
case "21":
$rand_value = "u";
break;
case "22":
$rand_value = "v";
break;
case "23":
$rand_value = "w";
break;
case "24":
$rand_value = "x";
break;
case "25":
$rand_value = "y";
break;
case "26":
$rand_value = "z";
break;
case "27":
$rand_value = "0";
break;
case "28":
$rand_value = "1";
break;
case "29":
$rand_value = "2";
break;
case "30":
$rand_value = "3";
break;
case "31":
$rand_value = "4";
break;
case "32":
$rand_value = "5";
break;
case "33":
$rand_value = "6";
break;
case "34":
$rand_value = "7";
break;
case "35":
$rand_value = "8";
break;
case "36":
$rand_value = "9";
break;
}
return $rand_value;
}
The second function: generate random string
The second function is what makes this work. We feed it the length of the string we want, and it gives us a random string of alphanumeric characters that length.
Demonstration (reload to change values)
- function get_rand_id(3) gives us wp4
- function get_rand_id(50) gives us 40s2tmfid8vz74adxirzyoqx0i42ijm5hy55ew8viwqwqvev6h
Here's the code of the random string generator function:
function get_rand_id($length)
{
if($length>0)
{
$rand_id="";
for($i=1; $i<=$length; $i++)
{
mt_srand((double)microtime() * 1000000);
$num = mt_rand(1,36);
$rand_id .= assign_rand_value($num);
}
}
return $rand_id;
}
Here are the steps of the code, explained:
- Check that the length is not 0.
- Start a loop. We loop once for each character we need for the string.
- We "seed" the random number function with the current microtime (times 1000000).
- We choose a random number between 1 and 36 (because our first function, assign_rand_value($num) accepts that range of numbers.
- We then use assign_rand_value($num) to change the random number into its corresponding alphanumeric number.
s
Altering the random string generator
For
strings of only numbers, keep the first function and add this function (the changes have been put in
bold)
function get_rand_numbers($length)
{
if($length>0)
{
$rand_id="";
for($i=1; $i<=$length; $i++)
{
mt_srand((double)microtime() * 1000000);
$num = mt_rand(27,36);
$rand_id .= assign_rand_value($num);
}
}
return $rand_id;
}
Demo, reload to change: - get_rand_numbers(10) gives 6257919045
- get_rand_numbers(25) gives 8040241211638536422998853
For
only letters, keep the first function and add this function (the changes have been put in
bold)
function get_rand_letters($length)
{
if($length>0)
{
$rand_id="";
for($i=1; $i<=$length; $i++)
{
mt_srand((double)microtime() * 1000000);
$num = mt_rand(1,26);
$rand_id .= assign_rand_value($num);
}
}
return $rand_id;
}
Demo, reload to change: - get_rand_letters(10) gives frgpugsfbm
- get_rand_letters(25) gives usxsbpdkykxunidymssmuimgs