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教程 预定义变量
Oct 23 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
destoon数据库表说明汇总
Jul 15 PHP
php使用function_exists判断函数可用的方法
Nov 19 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
PHP设置进度条的方法
Jul 08 PHP
php使用gzip压缩传输js和css文件的方法
Jul 29 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
Oct 08 PHP
Yii2中datetime类的使用
Dec 17 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
Apr 18 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
通过PHP实现用户注册后邮箱验证激活
Nov 10 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水印技术
2007/02/14 PHP
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
php表单敏感字符过滤类
2014/12/08 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
2010/05/18 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
JavaScript中使用自然对数ln的方法
2015/06/14 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
python检测远程端口是否打开的方法
2015/03/14 Python
Python 查看文件的读写权限方法
2018/01/23 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
2020/03/14 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
2020/06/28 Python
Django REST 异常处理详解
2020/07/15 Python
Python常用库Numpy进行矩阵运算详解
2020/07/21 Python
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
总经理任命书范本
2014/06/05 职场文书
信用卡工资证明范本
2014/10/17 职场文书
考察邀请函范文
2015/01/31 职场文书
大学生入党自荐书
2015/03/05 职场文书
Python中else的三种使用场景
2021/06/16 Python
python开发制作好看的时钟效果
2022/05/02 Python