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 相关文章推荐
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
PHP自定义函数收代码
Aug 01 PHP
php小偷相关截取函数备忘
Nov 28 PHP
深入PHP与浏览器缓存的分析
Jun 03 PHP
解析Win7 XAMPP apache无法启动的问题
Jun 26 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 PHP
完整删除ecshop中获取店铺信息的API
Dec 24 PHP
php截取中文字符串函数实例
Feb 23 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
Jun 17 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
tp5修改(实现即点即改)
Oct 18 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
smarty基础之拼接字符串的详解
2013/06/18 PHP
php5.3以后的版本连接sqlserver2000的方法
2014/07/28 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
jquery中:input和input的区别分析
2011/07/13 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
2017/02/14 Javascript
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
es6在react中的应用代码解析
2017/11/08 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
微信小程序访问豆瓣电影api的实现方法
2019/03/31 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
es6 for循环中let和var区别详解
2020/01/12 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
在vue中使用el-tab-pane v-show/v-if无效的解决
2020/08/03 Javascript
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
Python3实现转换Image图片格式
2018/06/21 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
django框架forms组件用法实例详解
2019/12/10 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
如何写求职信
2014/05/24 职场文书
单位授权委托书范文
2014/08/02 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
合作协议书模板2014
2014/09/26 职场文书
2015年财务个人工作总结范文
2015/05/22 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
python b站视频下载的五种版本
2021/05/27 Python
python单元测试之pytest的使用
2021/06/07 Python