把长数字转为短字符
/**
* 将数字转为短网址代码
*
* @param int $number 数字
* @return string 短网址代码
*/
function generate_code($number) {
$out = "";
$codes = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
while ($number > 60) {
$key = bcmod($number,'61');
$number = bcsub(bcp($number,'61'),'1');
$out = $codes{$key}.$out;
}
return $codes{$number}.$out;
}
/**
* 将短网址代码转为数字
*
* @param string $code 短网址代码
* @return int 数字
*/
function get_num($code){
$codes = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$num = 0;
$i = strlen($code);
for($j=0;$j<strlen($code);$j++){
$i--;
$char = $code{$j};
$pos = strpos($codes,$char);
$num = bcadd(bcmul(bcpow("61", $i),($pos + 1)),$num);
}
$num=bcsub($num,"1");
return $num;
}
/*****函数结束****/
$id="1973337397412392446";
echo $id."
";
$did=generate_code($id);
echo generate_code($id)."
";
echo get_num($did);
以上就是把长数字转为短字符的内容,更多相关内容请关注PHP中文网(www.php.cn)!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号