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 on 2013-10-31 21:02  新一  阅读(310)  评论(0编辑  收藏  举报

导航