好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php如何能随机生成验证码

本篇文章给大家介绍一下php随机生成验证码的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

<?php
/*
 * 方法类
 * */
class functions
{
    /**
* PHP随机生成验证码函数
*
* @param array
* @return  mixed
*/
    function randCode($params = [])
    {
   $num = $params['num'] ?? 4; //验证码个数
   $isLetter = $params['isLetter'] ? $params['isLetter'] : 1; //1是纯数字 2是字母和数字的组合

   if($isLetter==1){
  for($i=1;$i<=$num;$i++){
 $codeMin.=0;
 $codeMax.=9;
  }
  return rand($codeMin,$codeMax);
   }

   if($isLetter==2){
  //如果想调整权重,自己可以根据需求修改$codeArr这个一位数组
  $codeArr = ['1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i',
  'j','k','l','m','n','o','p','q','e','s','t','u','v','w','x','y','z',
  '1','2','3','4','5','6','7','8','9','0'];
  $codeKeys = array_rand($codeArr,$num);
  shuffle($codeKeys);
  foreach ($codeKeys as $codeValue){
 $codeStr .= $codeArr[$codeValue];
  }
  return $codeStr;
   }
    }
}

//测试生成验证码方法
$re = (new functions())->randCode([
    'num' => 6, //需要的个数
    'isLetter' => 2, //1是纯数字 2是数字加字符串
]);
print_r($re);

测试结果如下

推荐学习:php视频教程

以上就是php如何能随机生成验证码的详细内容!

查看更多关于php如何能随机生成验证码的详细内容...

  阅读:44次