php编写批量生成不重复的卡号密码代码
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-26 22:02:50 浏览: 评论:0
本文给大家分享的是一个十分实用的代码,项目中经常需要用到,可以批量生成不重复的卡号密码的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);
- ?>
Tags: php批量生成不重复卡号密码
- 上一篇:php编写的抽奖程序中奖概率算法
- 下一篇:php中PDO方式实现数据库的增删改查
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)