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 获取远程网页内容的代码(fopen,curl已测)
Jun 06 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 PHP
PHP判断文章里是否有图片的简单方法
Jul 26 PHP
PHP自带函数给数字或字符串自动补齐位数
Jul 29 PHP
php遍历CSV类实例
Apr 14 PHP
PHP会话处理的10个函数
Aug 11 PHP
PHP扩展Memcache分布式部署方案
Dec 06 PHP
Symfony2中被遗弃的getRequest()方法分析
Mar 17 PHP
PHP简单创建压缩图的方法
Aug 24 PHP
详解PHP实现支付宝小程序用户授权的工具类
Dec 25 PHP
利用PHP如何统计Nginx日志的User Agent数据
Mar 06 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选项与信息函数的使用详解
2013/05/10 PHP
php使用curl模拟登录后采集页面的例子
2013/11/04 PHP
php递归遍历删除文件的方法
2015/04/17 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
JavaScript学习历程和心得小结
2010/08/16 Javascript
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
Vue如何使用混合Mixins和插件开发详解
2020/02/05 Javascript
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
Python selenium的基本使用方法分析
2019/12/21 Python
python实现文法左递归的消除方法
2020/05/22 Python
用python制作个视频下载器
2021/02/01 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
使用css3制作登录表单的步骤
2014/04/07 HTML / CSS
HTML5进度条特效
2014/12/18 HTML / CSS
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
2016/11/20 面试题
护理专业优质毕业生自荐书
2014/01/31 职场文书
总经理助理的职责
2014/03/14 职场文书
党性教育心得体会
2014/09/03 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
入党积极分子群众意见
2015/06/01 职场文书
小学语文教师研修日志
2015/11/13 职场文书