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 相关文章推荐
vBulletin HACK----关于排版的两个HACK
Oct 09 PHP
phpMyAdmin 安装教程全攻略
Mar 19 PHP
php a simple smtp class
Nov 26 PHP
php中json_decode()和json_encode()的使用方法
Jun 04 PHP
PHP使用缓存即时输出内容(output buffering)的方法
Aug 03 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
Mar 16 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
Jul 31 PHP
PHP实现与java 通信的插件使用教程
Aug 11 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
为你的 Laravel 验证器加上多验证场景的实现
Apr 07 PHP
PHP执行linux命令6个函数代码实例
Nov 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
图形数字验证代码
2006/10/09 PHP
php 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
php数组声明、遍历、数组全局变量使用小结
2013/06/05 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
js变量提升深入理解
2016/09/16 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
ElementUI radio组件选中小改造
2019/08/12 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
python用来获得图片exif信息的库实例分析
2015/03/16 Python
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
python飞机大战pygame游戏框架搭建操作详解
2019/12/17 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
虚拟机下载python是否需要联网
2020/07/27 Python
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
模具专业推荐信
2013/10/30 职场文书
大学自荐信
2013/12/12 职场文书
运动会入场解说词300字
2014/01/25 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
关心下一代工作先进事迹
2014/08/15 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书