Heim >Backend-Entwicklung >PHP-Tutorial >php编写批量生成不重复的卡号密码代码_PHP教程

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

WBOY
WBOYOriginal
2016-07-13 09:53:541030Durchsuche

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

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 "

开始 ".date("H:i:s")." ";

 

for($i=1;$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("
成功生成:%s万个 %s点 的密码

",$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

$numLen=16;

$pwdLen=10;

$c=100;//生成100组卡号密码

$sNumArr=range(0,9);

$sPwdArr=array_merge($sNumArr,range('A','Z'));

 

$cards=array();

for($x=0;$x

$tempNumStr=array();

for($i=0;$i

$tempNumStr[]=array_rand($sNumArr);

}

$tempPwdStr=array();

for($i=0;$i

$tempPwdStr[]=$sPwdArr[array_rand($sPwdArr)];

}

$cards[$x]['no']=implode('',$tempNumStr);

$cards[$x]['pwd']=implode('',$tempPwdStr);

}

array_unique($cards);

print_r($cards);

?>

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1000077.htmlTechArticlephp编写批量生成不重复的卡号密码代码 本文给大家分享的是一个十分实用的代码,项目中经常需要用到,可以批量生成不重复的卡号密码的...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn