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不用正则采集速度探究总结
Mar 24 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
Jan 03 PHP
5种PHP创建数组的实例代码分享
Jan 17 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
php上传文件并显示上传进度的方法
Mar 24 PHP
php语言中使用json的技巧及json的实现代码详解
Oct 27 PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 PHP
PHP 断点续传实例详解
Nov 11 PHP
php实例化一个类的具体方法
Sep 19 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
Dec 03 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 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保留两位小数的几种方法
2019/07/24 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
纯js简单日历实现代码
2013/10/05 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
JS仿JQuery选择器功能
2017/03/08 Javascript
整理关于Bootstrap列表组的慕课笔记
2017/03/29 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
Javascript 之封装(Package)
2018/09/14 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
python字典的常用操作方法小结
2016/05/16 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
Python绘图实现显示中文
2019/12/04 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
一篇文章带你搞定Ubuntu中打开Pycharm总是卡顿崩溃
2020/11/02 Python
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
学生打架检讨书大全
2014/01/23 职场文书
物业经理自我鉴定
2014/03/03 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
法人授权委托书范本
2014/09/17 职场文书
英文邀请函
2015/02/02 职场文书
写给消防战士们的一封慰问信
2019/10/07 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers