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


Posted in PHP onMay 14, 2015

闲的蛋疼的时候,顺便加强下自己对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);
?>

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

PHP 相关文章推荐
人大复印资料处理程序_查询篇
Oct 09 PHP
PHP+DBM的同学录程序(5)
Oct 09 PHP
来自PHP.NET的入门教程
Oct 09 PHP
帖几个PHP的无限分类实现想法~
Jan 02 PHP
关于php fread()使用技巧
Jan 22 PHP
php中关于普通表单多文件上传的处理方法
Mar 25 PHP
PHP命令行脚本接收传入参数的三种方式
Aug 20 PHP
php通过记录IP来防止表单重复提交方法分析
Dec 16 PHP
php字符串分割函数用法实例
Mar 17 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
PHP实现的简单组词算法示例
Apr 10 PHP
Laravel 添加多语言提示信息的方法
Sep 29 PHP
php编写的抽奖程序中奖概率算法
May 14 #PHP
深入浅出php socket编程
May 13 #PHP
PHP中的traits简单使用实例
May 13 #PHP
PHP中的traits实现代码复用使用实例
May 13 #PHP
浅谈本地WAMP环境的搭建
May 13 #PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
May 13 #PHP
简单解决新浪SAE无法上传文件的问题
May 13 #PHP
You might like
一个用php实现的获取URL信息的类
2007/01/02 PHP
php管理nginx虚拟主机shell脚本实例
2014/11/19 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
JS实现两个大数(整数)相乘
2014/04/28 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
2015/04/07 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
AngularJS constant和value区别详解
2017/02/28 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
详解Vue源码中一些util函数
2019/04/24 Javascript
Vue的Options用法说明
2020/08/14 Javascript
jQuery实现评论模块
2020/08/19 jQuery
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
Python中的lstrip()方法使用简介
2015/05/19 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
Python中一行和多行import模块问题
2018/04/01 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
Python原始套接字编程实例解析
2020/01/29 Python
python如何从键盘获取输入实例
2020/06/18 Python
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
零件设计自荐信范文
2013/11/27 职场文书
测绘工程专业个人自我评价
2013/12/01 职场文书
公司行政经理岗位职责
2013/12/24 职场文书
国旗下的演讲稿
2014/05/08 职场文书
森林防火宣传标语
2014/06/27 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
2014年统计工作总结
2014/11/21 职场文书
2015年英语教学工作总结
2015/05/25 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python