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

yipeiwu_com6年前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中,使用关键字 static 修饰成员属性和成员方法被称为静态属性和静态方法。静态属性和静态方法不需要在类被实例化的情况下可以直接使用。 静态属性 与普通的成员属性不同,静态属性...

PHP常用函数之获取汉字首字母功能示例

本文实例讲述了PHP常用函数之获取汉字首字母功能。分享给大家供大家参考,具体如下: //获取汉字的首字母 function getFirstCharters($str) { if...

php PDO异常处理详解

异常处理: PHP:默认为直接报错 MYSQL:默认为静默模式,错就错,不报错 PDO:默认为静默模式,错就错,不报错 以前,当PHP碰到错误的时候,会直接报错,错误处理会变得相当麻烦。...

php实现统计目录文件大小的函数

早上刚到公司,头告诉我,抓紧写一个小函数,用来统计指定目录中文件大小,我了个去,动手吧,还好有点小基础,一会就完工了,哈哈。代码在下面咯。 <? /** 统计目录...

PHP使用strtotime计算两个给定日期之间天数的方法

本文实例讲述了PHP使用strtotime计算两个给定日期之间天数的方法。分享给大家供大家参考。具体分析如下: PHP的strtotime函数用于将任何英文文本的日期时间描述解析为Uni...