php编写批量生成不重复的卡号密码代码

 更新时间:2024年07月02日 11:42:07   投稿:hebedich  
本文给大家分享的是一个十分实用的代码,项目中经常需要用到,可以批量生成不重复的卡号密码的2种方法,有需要的小伙伴参考下吧。

闲的时候,顺便加强下自己对PHP中数组操纵的一些技巧,就写了下面的一段小代码,可以随机生成卡号密码对应的数组,并且自动去重复,思路没有,纯粹瞎掰。

<?php header('Content-Type:text/html; charset=utf-8');
 function MakeCard()
 {
  set_time_limit(0);

  //处理缓冲区
  ob_end_clean();
  ob_implicit_flush(true);
  echo str_pad(" ", 256);

  if(intval($_POST['num']>0)) $num=intval($_POST['num']); //数量
  if(intval($_POST['point']>0)) $point=intval($_POST['point']); //点数
  if(intval($_POST['batch']>0)) $batch=intval($_POST['batch']); //批号
  if(($_POST['ym']!="")) $ym=$_POST['ym']; //发行年月
  else $ym=date('ym');

  if($num==0) return;

  $num=$num*100; //卡的张数,即记录数

  echo "<p>开始 ".date("H:i:s")." ";

  for($i=1;$i<=$num;$i++)
  {
   $sn=sprintf("%02s%s%06s",$batch,$ym,$i);
   $seek=mt_rand(0,9999).mt_rand(0,9999).mt_rand(0,9999); //12位
   $start=mt_rand(0,20);
   $str=strtoupper(substr(md5($seek),$start,12));
   $str=str_replace("O",chr(mt_rand(65,78)),$str);
   $str=str_replace("0",chr(mt_rand(65,78)),$str);
   $row=array('sn'=>$sn,'password'=>$str,'created'=>time(),'point'=>$point);
   //查重
  //在这里加插入数据的代码.
  print_r($row);
  }
  echo " 结束 ".date("H:i:s")."";
  printf("<br>成功生成:%s万个 %s点 的密码</p>",$num/1e4,$point);
  return $num;
 } //函数结束

$_POST['num']=1;
$_POST['point']=10;
$_POST['batch']=10;
$_POST['ym']='1405';
echo MakeCard(); ?>

方法二:

<?php
$numLen=16;
$pwdLen=10;
$c=100;//生成100组卡号密码
$sNumArr=range(0,9);
$sPwdArr=array_merge($sNumArr,range('A','Z'));

$cards=array();
for($x=0;$x< $c;$x++){
 $tempNumStr=array();
 for($i=0;$i< $numLen;$i++){
  $tempNumStr[]=array_rand($sNumArr);
 }
 $tempPwdStr=array();
 for($i=0;$i< $pwdLen;$i++){
  $tempPwdStr[]=$sPwdArr[array_rand($sPwdArr)];  
 }
 $cards[$x]['no']=implode('',$tempNumStr);
 $cards[$x]['pwd']=implode('',$tempPwdStr);
}
array_unique($cards);
print_r($cards);
?>

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • PHPwind整合最土系统用户同步登录实现方法

    PHPwind整合最土系统用户同步登录实现方法

    我的任务就是让PHPWind和最土登录同步,领导也知道我的技术能力有限,不怎么高要求,所以让我先实现,再考虑其他。赶鸭子上架,开工了。
    2010-12-12
  • php通过记录IP来防止表单重复提交方法分析

    php通过记录IP来防止表单重复提交方法分析

    这篇文章主要介绍了php通过记录IP来防止表单重复提交的方法,对比分析了通过记录IP防止重复提交与通过数据库防止重复提交的方法,供大家灵活选择与使用,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • PHP实现的服务器一致性hash分布算法示例

    PHP实现的服务器一致性hash分布算法示例

    这篇文章主要介绍了PHP实现的服务器一致性hash分布算法,结合实例形式分析了php一致性hash分布算法类的具体定义与相关使用技巧,需要的朋友可以参考下
    2018-08-08
  • php实现的RSS生成类实例

    php实现的RSS生成类实例

    这篇文章主要介绍了php实现的RSS生成类,实例分析了RSS生成类的原理、定义与使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】

    PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】

    这篇文章主要介绍了PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算,结合实例形式分析了基于strtotime的简单日期时间运算技巧,非常具有实用价值,需要的朋友可以参考下
    2017-04-04
  • 浅析Laravel5中队列的配置及使用

    浅析Laravel5中队列的配置及使用

    Laravel5提供了完善的队列功能,只需要简单的配置即可使用。这里简单记录下Laravel5中关于队列的配置及使用。
    2016-08-08
  • php/JS实现的生成随机密码(验证码)功能示例

    php/JS实现的生成随机密码(验证码)功能示例

    这篇文章主要介绍了php/JS实现的生成随机密码(验证码)功能,结合实例形式分析了php与javascript随机字符串生成相关的字符串遍历、随机数生成、编码转换等操作技巧,需要的朋友可以参考下
    2019-06-06
  • PHPMailer安装方法及简单实例

    PHPMailer安装方法及简单实例

    PHPMailer是一个用PHP写的用于邮件发送的类,有点像Jmail,相信很多新手和我一样,开始很茫然,不知道怎么安装,查找了一下,发现这方面的资料真的少之又少,一个文章被转载千百次,一搜索全是同一个内容,真不知道说什么好,其实打开安装里的readme就一目了然了,闲话少说,安装其实很简单。
    2008-11-11
  • PHP生成和获取XML格式数据的方法

    PHP生成和获取XML格式数据的方法

    这篇文章主要介绍了PHP生成和获取XML格式数据的方法,结合实例形式较为详细的分析了PHP操作数据库生成XML及获取XML格式数据的相关技巧,需要的朋友可以参考下
    2016-03-03
  • php使用curl判断网页404(不存在)的方法

    php使用curl判断网页404(不存在)的方法

    这篇文章主要介绍了php使用curl判断网页404(不存在)的方法,通过curl获取http头信息进行404错误判断,非常简便易懂,需要的朋友可以参考下
    2016-06-06

最新评论