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

yipeiwu_com7年前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实现XML与数据格式进行转换类实例

本文实例讲述了PHP实现XML与数据格式进行转换类。分享给大家供大家参考。具体如下: <?php /** * xml2array() will convert the...

ubuntu 编译安装php 5.3.3+memcache的方法

//编译安装php 5.3.3 由于php5.3.X已经自带了php-fpm所以不需要打补丁 # sudo ./configure --prefix=/usr/local/php-5.3...

PHP 组件化编程技巧

PHP 组件化编程技巧

但其在UI方便却有些力不从心,不仅是PHP,任何一种Web编程语言在设计UI都有类似的问题,宿主语言与HTML混和在一个文件中,大量重复的 HTML代码,毫无任何技术含量,但又非常的费时...

PHP的PDO常用类库实例分析

本文实例讲述了PHP的PDO常用类库。分享给大家供大家参考,具体如下: 1、Db.class.php 连接数据库 <?php // 连接数据库 class Db {...

PHP中for与foreach的区别分析

注意: 除非数组是被引用,foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。因此数组指针不会被 each() 结构改变,对返回的数组单元的修改也不会影响原数组。 1. 自p...