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


Posted in PHP onAugust 12, 2013

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模块 Memcached功能多于Memcache
Jun 14 PHP
php引用计数器进行垃圾收集机制介绍
Sep 19 PHP
php 定义404页面的实现代码
Nov 19 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
本地机apache配置基于域名的虚拟主机详解
Aug 10 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
php中$_POST与php://input的区别实例分析
Jan 07 PHP
php生成4位数字验证码的实现代码
Nov 23 PHP
ThinkPHP打水印及设置水印位置的方法
Oct 14 PHP
php xhprof使用实例详解
Apr 15 PHP
PHP常用函数之根据生日计算年龄功能示例
Oct 21 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
Jan 26 PHP
PHP实现把数字ID转字母ID
Aug 12 #PHP
PHP计算2点经纬度之间的距离代码
Aug 12 #PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
Aug 10 #PHP
浅析php中常量,变量的作用域和生存周期
Aug 10 #PHP
浅析linux下apache服务器的配置和管理
Aug 10 #PHP
本地机apache配置基于域名的虚拟主机详解
Aug 10 #PHP
php 删除目录下N分钟前创建的所有文件的实现代码
Aug 10 #PHP
You might like
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
PHP中ADODB类详解
2008/03/25 PHP
理解php Hash函数,增强密码安全
2011/02/25 PHP
PHP_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
javascript 实现map集合
2015/04/03 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
JQuery实现列表中复选框全选反选功能封装(推荐)
2016/11/24 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
详解Nodejs内存治理
2018/05/13 NodeJs
浅谈React之状态(State)
2018/09/19 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
JS实现超级好看的鼠标小尾巴特效
2020/12/01 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
浅谈python内置变量-reversed(seq)
2017/06/21 Python
Python实现返回数组中第i小元素的方法示例
2017/12/04 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
Python设计模式之装饰模式实例详解
2019/01/21 Python
Python接口测试数据库封装实现原理
2020/05/09 Python
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
表演方阵解说词
2014/02/08 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
无刑事犯罪记录证明
2014/09/18 职场文书
家庭贫困证明
2014/09/23 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
员工辞职信范文大全
2015/05/12 职场文书
请客吃饭开场白
2015/06/01 职场文书
CSS实现漂亮的时钟动画效果的实例代码
2021/03/30 HTML / CSS
Python函数中apply、map、applymap的区别
2021/11/27 Python