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 相关文章推荐
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
Dec 01 PHP
php shell超强免杀、减少体积工具实现代码
Oct 16 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
codeigniter中测试通过的分页类示例
Apr 17 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 PHP
set_exception_handler函数在ThinkPHP中的用法
Oct 31 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
Apr 08 PHP
浅析Yii2缓存的使用
May 10 PHP
PHP获取用户客户端真实IP的解决方案
Oct 10 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
Jan 16 PHP
PHP基于进程控制函数实现多线程
Dec 09 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
php与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
PHP 数据结构 算法 三元组 Triplet
2011/07/02 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
JavaScript 对象字面量讲解
2016/06/06 Javascript
js中的关联数组与普通数组详解
2016/07/27 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
javascript 中关于array的常用方法详解
2017/05/05 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
angularjs 动态从后台获取下拉框的值方法
2018/08/13 Javascript
脚手架vue-cli工程webpack的基本用法详解
2018/09/29 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
[36:33]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.29
2020/12/02 DOTA
python实现ip查询示例
2014/03/26 Python
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
解决Python对齐文本字符串问题
2019/08/28 Python
Python shelve模块实现解析
2019/08/28 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
Yahoo-PHP面试题3
2012/01/14 面试题
十佳护士获奖感言
2014/02/18 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
大学生毕业个人总结
2015/02/15 职场文书
2015年南京大屠杀纪念日活动总结
2015/03/24 职场文书
毕业论文答辩开场白
2015/05/27 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书
企业愿景口号
2015/12/25 职场文书