您好,登錄后才能下訂單哦!
PHP是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。PHP 獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁。使用PHP生成不重復(fù)的8位卡號(hào)和卡密的方法是什么呢?我們一起看看吧。
一、生成不重復(fù)的隨機(jī)數(shù)字,可自定義長(zhǎng)度
/** * 生成不重復(fù)的隨機(jī)數(shù)字 * @param int $start 需要生成的數(shù)字開始范圍 * @param int $end 結(jié)束范圍 * @param int $length 需要生成的隨機(jī)數(shù)個(gè)數(shù) * @return number 生成的隨機(jī)數(shù) */ function getRandNumber($start=0,$end=9,$length=8){ //初始化變量為0 $connt = 0; //建一個(gè)新數(shù)組 $temp = array(); while($connt < $length){ //在一定范圍內(nèi)隨機(jī)生成一個(gè)數(shù)放入數(shù)組中 $temp[] = mt_rand($start, $end); //$data = array_unique($temp); //去除數(shù)組中的重復(fù)值用了“翻翻法”,就是用array_flip()把數(shù)組的key和value交換兩次。這種做法比用 array_unique() 快得多。 $data = array_flip(array_flip($temp)); //將數(shù)組的數(shù)量存入變量count中 $connt = count($data); } //為數(shù)組賦予新的鍵名 shuffle($data); //數(shù)組轉(zhuǎn)字符串 $str=implode(",", $data); //替換掉逗號(hào) $number=str_replace(',', '', $str); return $number; }
二、隨機(jī)生成不重復(fù)的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擴(kuò)展材料:
PHP獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁。用PHP做出的動(dòng)態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多。
PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。
PHP在數(shù)據(jù)庫方面的豐富支持,也是它迅速走紅的原因之一,它支持下列的數(shù)據(jù)庫或是數(shù)據(jù)文件:
Adabas 、D、 DBA、dBase 、dbm 、filePro 、Informix 、InterBase、mSQL 、Microsoft SQL Server、·MySQL、Solid、Sybase、 Oracle 、PostgreSQL
以上就是使用PHP生成不重復(fù)的8位卡號(hào)和卡密的方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注億速云其它相關(guān)文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。