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<strlen($string);$i++){ $n = strlen($string) - $i -1; $pos = strpos($codes,$string[$i]); $num += $pos * pow(62, $n); } return $num; }