この記事では、プロジェクトでよく使用される非常に実用的なコードを紹介します。必要な場合は、一意のカード番号のパスワードをバッチ生成する方法が 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 |
関数 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 " Start ".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 " end ".date("H:i:s").""; printf(" $num を返します; } //関数の終了
$_POST['num']=1; $_POST['ポイント']=10; $_POST['バッチ']=10; $_POST['ym']='1405'; echo MakeCard() ?> ; |
方法 2:
?
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=範囲(0,9); $sPwdArr=array_merge($sNumArr,range('A','Z'));
$cards=array(); for($x=0;$x $tempNumStr=配列(); 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); ?> |
以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。