1. 云栖社区>
  2. PHP教程>
  3. 正文

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

作者:用户 来源:互联网 时间:2017-12-01 09:27:05

密码

php编写批量生成不重复的卡号密码代码 - 摘要: 本文讲的是php编写批量生成不重复的卡号密码代码,    本文给大家分享的是一个十分实用的代码,项目中经常需要用到,可以批量生成不重复的卡号密码的2种方法,有需要的小伙伴参考下吧。   闲的蛋疼的时候,顺便加强下自己对PHP中数组操纵的一些技巧,就写了下面的一段小代码,可以随机生成卡号密码

   本文给大家分享的是一个十分实用的代码,项目中经常需要用到,可以批量生成不重复的卡号密码的2种方法,有需要的小伙伴参考下吧。

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

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 <?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(); ?>

  方法二:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <?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); ?>

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

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索密码 ,以便于您获取更多的相关知识。