php中的Base62类(适用于数值转字符串)

yipeiwu_com5年前PHP代码库
Base62类源码:
复制代码 代码如下:

class Base62 {

    private $string = "vPh7zZwA2LyU4bGq5tcVfIMxJi6XaSoK9CNp0OWljYTHQ8REnmu31BrdgeDkFs";

    public function base62_encode($str) {
        $out = '';
        for($t=floor(log10($str)/log10(62)); $t>=0; $t--) {
            $a = floor($str / pow(62, $t));
            $out = $out.substr($this->string, $a, 1);
            $str = $str - ($a * pow(62, $t));
        }  
        return $out;
    }  

    public function base62_decode($str) {
        $out = 0;
        $len = strlen($str) - 1;
        for($t=0; $t<=$len; $t++) {
            $out = $out + strpos($this->string, substr($str, $t, 1)) * pow(62, $len - $t);
        }  
        return substr(sprintf("%f", $out), 0, -7);
    }  
}

用法:
复制代码 代码如下:

$str = 1;
$object = new Base62();
echo $object->base62_encode($str) . "\n";
echo $object->base62_decode($object->base62_encode($str)) . "\n";

相关文章

php对关联数组循环遍历的实现方法

本文实例讲述了php对关联数组循环遍历的实现方法。分享给大家供大家参考。具体分析如下: php对于类似 $age = array("zhangshan"=>14,"lisi"...

php读取xml实例代码

php文件 复制代码 代码如下: <?php class xpathExtension{ public static function getNodes($domDoc, $xpa...

PHP根据传来的16进制颜色代码自动改变背景颜色

复制代码 代码如下: <?php echo "<html>"; echo "<head><title>改变背景颜色</title>&...

PHP基于imap获取邮件实例

本文实例讲述了PHP基于imap获取邮件的方法。分享给大家供大家参考。具体实现方法如下: imap是一款邮件交互访问的协议了,下面是实例主要利用php imap模块来快速获取邮件,列出所...

使用PHP求两个文件的相对路径

复制代码 代码如下:function compare($ph1,$ph2){    $ret = '';    $_f1Arr...