PHP-如何生成验证码

举例生成四位验证(常用的喔)

思路:建立字符串,随机从字符串挑选4个

在PHP中有一个函数rand

它的作用就是产生一个随机整数

两个语法为

int rand (void)

int rand (int $min,int $max)//有限制有条件的挑选随机数

没有条件限制的产生随机整数,代码为

$str = "abcdefghijklmnopqrstuvwxyz0123456789";
echo rand();

!!!提示:字符串索引号从0开始

如果想要指定条件,代码为

$str = "abcdefghijklmnopqrstuvwxyz0123456789";
echo rand(0,10);

mt_rand可代替rand函数

作用可生成更好的随机数

由于字符串为36位,索引号从0开始,所以减1位,代码为

$str = "abcdefghijklmnopqrstuvwxyz0123456789";
echo mt_rand(0,$len-1);

以上都是生成一位随机数

下面我们分析如何生成四位函数

首先我们了解一个函数   substr

作用是返回字符串的字

string substr (string $string , int $start [,int $length] )

string 是设置好的字符串 start是从0开始计算

<?php
 $rest  =  substr ( "abcdef" , - 1 );     // 返回 "f"
 $rest  =  substr ( "abcdef" , - 2 );     // 返回 "ef"
 $rest  =  substr ( "abcdef" , - 3 ,  1 );  // 返回 "d"
 ?> 

length是从哪个字符串开始 从0开始算起,最多包括length个字符如果是负数,将倒数开始算起,后面也可以加逗号 限制个数

<?php
 $rest  =  substr ( "abcdef" ,  0 , - 1 );   // 返回 "abcde"
 $rest  =  substr ( "abcdef" ,  2 , - 1 );   // 返回 "cde"
 $rest  =  substr ( "abcdef" ,  4 , - 4 );   // 返回 ""
 $rest  =  substr ( "abcdef" , - 3 , - 1 );  // 返回 "de"
 ?> 

 

然后我们来正式输入四位验证码过程

$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;

然后四位数的代码就会产生了。以上就是四位验证码的讲解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值