PHP隨機數怎麼字母加數字組合,前兩個是字母后邊是數字?

來源:互聯網
上載者:User
PHP隨機數怎麼字母加數字組合,前兩個是字母后邊是數字?

回複內容:

PHP隨機數怎麼字母加數字組合,前兩個是字母后邊是數字?

樓上說的思路沒錯,隨機的數量太大會出現重複是很正常的,按你的需求寫了個方法, 有興趣的話, 可以跑個百萬次看看重複的機率是多少

function getRandomString($prefixLength = 2, $suffixLength = 6) {    $t = '';    for ($i=0; $i<$prefixLength; $i++) {        $salt = mt_rand(1000, 9999);        if ($salt % 2) {            $t .= chr(mt_rand(97,122));        } else {            $t .= chr(mt_rand(65,90));        }    }    $min = intval(str_pad('1', $suffixLength, '0', STR_PAD_RIGHT));    $max = intval(str_repeat('9', $suffixLength));    return $t . mt_rand($min, $max);}

先產生隨機字母,在產生隨機數字,不過這樣可能出現重複,想盡量避開重複只能從後面的數字下手啦。如下例子你試試看呢

function randomKey(){    $re = '';    $letter = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';    while(strlen($re)<2) {        $re .= $letter[rand(0, strlen($letter)-1)]; /** 從$letter中隨機產生一個字元 */    }    $_rand = mt_rand(10000000, 99999999); /** 產生8位隨機數 */    list($usec, $sec) = explode(" ", microtime()); /** 擷取微秒時間戳記 */    $microtime = str_replace(".", "", ((float)$usec + (float)$sec)); /** 處理字串 */        $result = $re.$_rand.$microtime;}

這樣產生的隨機數可能有點長,你可以把隨機數去掉,直接使用字母加微妙時間戳記也行。僅供參考

你隨機倆字母 在隨機些數組 然後拼接到一起不就可以嗎?還是有特殊需求?

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.