十进制转多进制函数                    
                    
                    
                        public static function from10_to58($num)
    {
        $to = 58;
        $dict="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $dict=str_split($dict);
        $ret = '';
        do {
            $ret = $dict[bcmod($num, $to)] . $ret;
            $num = bcdiv($num, $to);
        } while ($num > 0);
        return $ret;
    }
     public static function from58_to10($str)
    {
        $from = 58;
        $str = strval($str);
        $dict="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $len = strlen($str);
        $dec = 0;
        for ($i = 0; $i < $len; $i++) {
            $pos = strpos($dict, $str[$i]);
            $dec = bcadd(bcmul(bcpow($from, $len - $i - 1), $pos), $dec);
        }
        return $dec;
    }
                     
                    
                    
                    个评论
                    
                    
                                        年代过于久远,无法发表评论
                                     
            
base_convert
https://www.php.net/manual/zh/function.base-convert.php
1.警告:由于使用内部的 "double" 或 "float" 类型,base_convert() 的操作可能会导致大数值中的精度丢失。请参见本手册的 浮点数 章节以便获得更多详细信息。
2.只能转到36,后面的就不行了
这个早就知道了,我这是转36以上的进制