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 相关文章推荐
增加反向链接的101个方法 站长推荐
Jan 31 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
Dec 29 PHP
php笔记之:php数组相关函数的使用
Apr 26 PHP
PHP中使用memcache存储session的三种配置方法
Apr 05 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
php随机取mysql记录方法小结
Dec 27 PHP
php绘制一条弧线的方法
Jan 24 PHP
6个超实用的PHP代码片段
Aug 10 PHP
yii通过小物件生成view的方法
Oct 08 PHP
PHP+iframe图片上传实现即时刷新效果
Nov 18 PHP
PHP使用ActiveMQ实现消息队列的方法详解
May 31 PHP
php 的多进程操作实践案例分析
Feb 28 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中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
JS实现带动画的回到顶部效果
2017/12/28 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
python 中字典嵌套列表的方法
2018/07/03 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
python利用thrift服务读取hbase数据的方法
2018/12/27 Python
Python中字符串与编码示例代码
2019/05/20 Python
零基础小白多久能学会python
2020/06/22 Python
Python socket服务常用操作代码实例
2020/06/22 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
美国户外生活方式品牌:Eddie Bauer
2016/12/28 全球购物
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
网上商城创业计划书范文
2014/01/31 职场文书
vue引入Excel表格插件的方法
2021/04/28 Vue.js
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏
《游戏王:大师决斗》新活动上线 若无符合卡组可免费租用
2022/04/13 其他游戏