求一个生成四位随机数的PHP代码
最简单的代码:
图片:
文字:
<?php
echo "四位随机代码是:". mt_rand(999, 9999); //随机值得范围是999-9999
?>
在PHP中 mt_rand是随机函数,括号中是随机值范围:从最小值到最大值之间随机变换。
扩展资料:
1、mt_rand定义和用法:
mt_rand (PHP 4, PHP 5, PHP 7) — 生成更好的随机数。
2、mt_rand说明:
int mt_rand ( void )。
int mt_rand ( int $min , int $max )。
很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。
如果没有提供可选参数 min 和 max,mt_rand() 返回 0 到 mt_getrandmax() 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 mt_rand(5, 15)。
3、参数:
min 可选的、返回的最小值(默认:0)。
max 可选的、返回的最大值(默认:mt_getrandmax())。
4、返回值:
返回 min (或者 0) 到 max (或者是到 mt_getrandmax() ,包含这个值)之间的随机整数。
参考资料:
rand(1000,9999)
数字和字符混搭的四位随机字符串:
function GetRandStr($len)
{
$chars = array(
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
"S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",
"3", "4", "5", "6", "7", "8", "9"
);
$charsLen = count($chars) - 1;
shuffle($chars);
$output = "";
for ($i=0; $i<$len; $i++)
{
$output .= $chars[mt_rand(0, $charsLen)];
}
return $output;
}
echo GetRandStr(4);
生成10000到19999的随机数,然后转换为字符串,再截取后面4位,这样才可能生成类似0034这样的随机数,而不是34
$arr = "0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
$qaz = strlen($arr)-1;//获取字符串长度
$wsx = rand(0,$qaz);
$qw = '';
for ($a=0; $a <4 ; $a++) {
$wsx = rand(0,$qaz);
$qw.=$arr[$wsx];
}
header("content-type:image/jpg");//画布
$img = imagecreate(200,80);//创建画布
$color = imagecolorallocate($img,255,255,255);
$color1 = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));
$color2 = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));
//干扰
imagefilledrectangle($img,1,1,199,79,$color);
for ($z=1; $z <320 ; $z++) {
imagesetpixel($img,rand(1,199),rand(1,79),$color2);
}
for($x =0;$x<4;$x++){
imagechar($img,26,rand(40+$x*30,50+$x*30),rand(10,60),$qw[rand(0,3)],imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255)));
}
imagejpeg($img);
?>