把长数字转为短字符
程序员文章站
2022-04-15 21:33:17
...
把长数字转为短字符
/** * 将数字转为短网址代码 * * @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)!
上一篇: 类的实例化介绍
下一篇: php 删除记录同时删除图片文件程序