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 相关文章推荐
一个好用的分页函数
Nov 16 PHP
php之字符串变相相减的代码
Mar 19 PHP
php日期转时间戳,指定日期转换成时间戳
Jul 17 PHP
一个PHP二维数组排序的函数分享
Jan 17 PHP
php判断数组元素中是否存在某个字符串的方法
Jun 14 PHP
PHP中file_exists使用中遇到的问题小结
Apr 05 PHP
php创建图像具体步骤
Mar 13 PHP
PHP jQuery+Ajax结合写批量删除功能
May 19 PHP
ThinkPHP实现登录退出功能
Jun 29 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
Apr 20 PHP
Laravel实现ApiToken认证请求
Oct 14 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
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
php缓冲输出实例分析
2015/01/05 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
Jquery下:nth-child(an+b)的使用注意
2011/05/28 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
JavaScript知识点总结(十)之this关键字
2016/05/31 Javascript
javascript事件冒泡简单示例
2016/06/20 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
python删除指定类型(或非指定)的文件实例详解
2015/07/06 Python
Python 自动刷博客浏览量实例代码
2017/06/14 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
python实现小球弹跳效果
2019/05/10 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
python中的时区问题
2021/01/14 Python
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
斯福泰克软件测试面试题
2015/02/16 面试题
学生打架检讨书1000字
2014/01/16 职场文书
水利水电专业自荐信
2014/07/08 职场文书