生成四位随机验证码

我们要想生成的四位随机验证码无非就是在a-z,0-9之间的字符串;那么首先呢我们就要先把所有要用到的字符放在一个字符串里

$str="abcdefghijklmnopqrstuvwxyz0123456789";

我们所生成的四位随机验证码应该在上边字符串中获取

获取随机数,首先想到的应该是rand()函数,但是有一个更好的生成随机数的函数,是mt_rand;它的用法和rand是一样的。

我们上边已经定义了一个字符串,要想从字符串里边取其中的几个,我们应该知道字符串的长度。

$len=strlen($str);

$str呢前边我们已经定义了,strlen()函数是获取字符串的长度函数,我们把最后的值放在一个变量$len中;

那么我们所生成的随机字符串的下标是从0开始到$len-1之间的。

我们生成的随机数是四位的,所以就需要用到循环语句for

for($i=0;$i<4;$i++){
	$rand=mt_rand(0,$len-1);
}

这样我们就能生成四个0-($len-1)之间的随机数

然而我们想要从字符串里边截取字符,需要用到substr函数,substr有三个参数:第一个参数为输入的字符串,第二个参数为截取的位置,第三个参数为截取的长度。

我们要将所截取的字符串放在一个空串里边;我们就应该在循环之前定义一个空字符串     $yzm='';

然后将substr截取字符串的函数放到循环里边

for($i=0;$i<4;$i++){
	$rand=mt_rand(0,$len-1);
	$yzm.=substr($str,$rand,1);
}

上面代码为循环四次,为此截取$str里边从随机数$rand开始的一个字符,然后将其存放到$yam变量中

最后在需要一个输出语句  echo $yzm;   就可以了。

完整代码如下:

<?php
header('content-type:text/html;charset=utf-8');

$str="abcdefghijklmnopqrstuvwxyz0123456789";
//生成四位验证码
//思路:随机从以上字符串选出四个
$len=strlen($str);
$yzm='';
for($i=0;$i<4;$i++){
	$rand=mt_rand(0,$len-1);
	$yzm.=substr($str,$rand,1);
}
echo $yzm;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值