溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用PHP生成不重復(fù)的8位卡號(hào)和卡密的方法

發(fā)布時(shí)間:2020-06-01 10:31:57 來源:億速云 閱讀:490 作者:PHP專家 欄目:編程語言

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)文章!

向AI問一下細(xì)節(jié)

免責(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)容。

php
AI