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(2)
Oct 09 PHP
PHP教程 基本语法
Oct 23 PHP
PHPwind整合最土系统用户同步登录实现方法
Dec 08 PHP
第五章 php数组操作
Dec 30 PHP
php 网上商城促销设计实例代码
Feb 17 PHP
深入file_get_contents函数抓取内容失败的原因分析
Jun 25 PHP
CodeIgniter CLI模式简介
Jun 17 PHP
php验证码生成代码
Nov 11 PHP
PHP处理CSV表格文件的常用操作方法总结
Jul 01 PHP
静态html文件执行php语句的方法(推荐)
Nov 21 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 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 heredoc和phpwind的模板技术使用方法小结
2008/03/28 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
PHP实现生成透明背景的PNG缩略图函数分享
2014/07/08 PHP
PHP常用的类封装小结【4个工具类】
2019/06/28 PHP
用js重建星际争霸
2006/12/22 Javascript
通过jquery实现tab标签浏览效果
2007/02/20 Javascript
FLASH 广告之外的链接
2008/12/16 Javascript
动态为事件添加js代码示例
2009/02/15 Javascript
JQuery 获得绝对,相对位置的坐标方法
2010/02/09 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
『jQuery』名称冲突使用noConflict方法解决
2013/04/22 Javascript
使用BootStrapValidator完成前端输入验证
2016/09/28 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
JavaScript中的工厂函数(推荐)
2017/03/08 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
JavaScript中的this基本问题实例小结
2020/03/09 Javascript
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
详解Python中time()方法的使用的教程
2015/05/22 Python
Java与Python两大幸存者谁更胜一筹呢
2018/04/12 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
详解Python3 pandas.merge用法
2019/09/05 Python
树莓派极简安装OpenCv的方法步骤
2019/10/10 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
python -v 报错问题的解决方法
2020/09/15 Python
python 实现逻辑回归
2020/12/30 Python
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
函授大专自我鉴定
2013/11/01 职场文书
社区健康教育实施方案
2014/03/18 职场文书
文案策划求职信
2014/04/14 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书