10进制转换成62进制

 /** 
 * 10进制转为62进制 
 *  
 * @param integer $n 10进制数值 
 * @return string 62进制 
 */ 
function dec62($n) {  
    $base = 62;  
    $index = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';  
    $ret = '';  
    for($t = floor(log10($n) / log10($base)); $t >= 0; $t --) {  
        $a = floor($n / pow($base, $t));  
        $ret .= substr($index, $a, 1);  
        $n -= $a * pow($base, $t);  
    }  
    return $ret;  
}

/** 
 * 62进制转为10进制 
 * 
 * @param integer $n 62进制 
 * @return string 10进制 
 */ 
function dec10($s) {  
    $base = 62;  
    $index = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';  
    $ret = 0;  
    $len = strlen($s) - 1;  
    for($t = 0; $t <= $len; $t ++) {  
        $ret += strpos($index, substr($s, $t, 1)) * pow($base, $len - $t);  
    }  
    return $ret;
}

  

posted @ 2014-03-10 16:17  忆殇之痕  阅读(334)  评论(0编辑  收藏  举报