1. 程式人生 > >通過使用者id生成邀請碼

通過使用者id生成邀請碼

已知一個使用者的ID(ID是長整形)根據使用者ID給使用者生成一個唯一的邀請碼(邀請碼範圍([a-z0-9])?程式碼實現!
字元a-z0-9剛好是36個。是否可以考慮直接將使用者ID轉換成一個36進位制的數呢?
<?php  
function createCode($userId)  
{  
    static $sourceString = [  
              0,1,2,3,4,5,6,7,8,9,10,  
              'a','b','c','d','e','f',  
              'g','h','i','j','k','l',  
              'm','n','o','p','q','r',  
              's','t','u','v','w','x',  
              'y','z'  
            ];  
  
    $num = $userId;  
    $code = '';  
    while($num)  
    {  
        $mod = $num % 36;  
        $num = (int)($num / 36);  
        $code = "{$sourceString[$mod]}{$code}";  
    }  
      
    //判斷code的長度  
    if( empty($code[4]))  
        str_pad($code,5,'0',STR_PAD_LEFT);  
  
    return $code;  
}