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
基于数据库的在线人数,日访问量等统计
Oct 09 PHP
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
用php获取本周,上周,本月,上月,本季度日期的代码
Aug 05 PHP
php创建基本身份认证站点的方法详解
Jun 08 PHP
PHP读取RSS(Feed)简单实例
Jun 12 PHP
Laravel框架表单验证详解
Sep 04 PHP
9条PHP编程小知识及易犯的小错误
Jan 22 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
Dec 30 PHP
PHP生成图片缩略图类示例
Jan 12 PHP
laravel实现批量更新多条记录的方法示例
Oct 22 PHP
PHP sdk文档处理常用代码示例解析
Dec 09 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
php数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
ECMAScript 基础知识
2007/06/29 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
2016/06/22 Javascript
正则表达式,替换所有HTML标签的简单实例
2016/11/28 Javascript
详解jQuery事件
2017/01/13 Javascript
Node实战之不同环境下配置文件使用教程
2018/01/02 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
php结合js实现多条件组合查询
2019/05/28 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
layui动态渲染生成select的option值方法
2019/09/23 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
Python读取stdin方法实例
2019/05/24 Python
set在python里的含义和用法
2019/06/24 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
HTML5 placeholder属性详解
2016/06/22 HTML / CSS
咖啡店自主创业商业计划书
2014/01/22 职场文书
参观接待方案
2014/03/17 职场文书
相亲活动方案
2014/08/26 职场文书
同意转租证明
2015/06/24 职场文书
Java中的继承、多态以及封装
2022/04/11 Java/Android