PHP随机生成不重复的8位卡号(数字)和卡密(字符串)

互联网 19-12-4
一、生成不重复的随机数字,可自定义长度
/**  * 生成不重复的随机数字  * @param  int $start  需要生成的数字开始范围  * @param  int $end    结束范围  * @param  int $length 需要生成的随机数个数  * @return number      生成的随机数  */ function getRandNumber($start=0,$end=9,$length=8){ //初始化变量为0 $connt = 0; //建一个新数组 $temp = array(); while($connt < $length){ //在一定范围内随机生成一个数放入数组中 $temp[] = mt_rand($start, $end); //$data = array_unique($temp); //去除数组中的重复值用了“翻翻法”,就是用array_flip()把数组的key和value交换两次。这种做法比用 array_unique() 快得多。 $data = array_flip(array_flip($temp)); //将数组的数量存入变量count中 $connt = count($data); } //为数组赋予新的键名 shuffle($data); //数组转字符串 $str=implode(",", $data); //替换掉逗号 $number=str_replace(',', '', $str); return $number; }

二、随机生成不重复的8位卡密

function makeCardPassword() {         $code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';         $rand = $code[rand(0,25)]             .strtoupper(dechex(date('m')))             .date('d').substr(time(),-5)             .substr(microtime(),2,5)             .sprintf('%02d',rand(0,99));         for(             $a = md5( $rand, true ),             $s = '0123456789ABCDEFGHIJKLMNOPQRSTUV',             $d = '',             $f = 0;             $f < 8;             $g = ord( $a[ $f ] ),             $d .= $s[ ( $g ^ ord( $a[ $f + 8 ] ) ) - $g & 0x1F ],             $f++         );         return  $d; }

相关推荐:《PHP教程》

以上就是PHP随机生成不重复的8位卡号(数字)和卡密(字符串)的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: PHP
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:PHP面试题大全(值得收藏)

相关资讯