php将长数字串变成短字符串的方法,可用于id转化等。
$str="0abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
/**
* 将数字转为短字符串
*
* @param int $number 数字
* @return string 短字符串
*/
public function generate_code($number) {
$out = "";
$codes = $this->str;
while ($number > 61) {
$m = $number % 62;
$out = $codes[$m].$out;
$number = ($number - $m) / 62;
}
return $codes[$number].$out;
}
/**
* 将短字符串转为数字
*
* @param string $string短字符串
* @return int 数字
*/
public function get_num($string){
$codes = $this->str;
$num = 0;
for($i=0;$i
$n = strlen($string) - $i -1;
$pos = strpos($codes,$string[$i]);
$num += $pos * pow(62, $n);
}
return $num;
}
作者: 二皮
Hackers please go away查看二皮的所有文章