php实现36进制与10进制转换功能示例


Posted in PHP onJanuary 10, 2017

本文实例讲述了php实现36进制与10进制转换功能。分享给大家供大家参考,具体如下:

/**
 * @desc im:十进制数转换成三十六机制数
 * @param (int)$num 十进制数
 * return 返回:三十六进制数
*/
function get_char($num) {
  $num = intval($num);
  if ($num <= 0)
    return false;
  $charArr = array("0","1","2","3","4","5","6","7","8","9",'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
  $char = '';
  do {
    $key = ($num - 1) % 36;
    $char= $charArr[$key] . $char;
    $num = floor(($num - $key) / 36);
  } while ($num > 0);
  return $char;
}
/**
 * @desc im:三十六进制数转换成十机制数
 * @param (string)$char 三十六进制数
 * return 返回:十进制数
 */
function get_num($char){
  $array=array("0","1","2","3","4","5","6","7","8","9","A", "B", "C", "D","E", "F", "G", "H", "I", "J", "K", "L","M", "N", "O","P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y","Z");
  $len=strlen($char);
  for($i=0;$i<$len;$i++){
    $index=array_search($char[$i],$array);
    $sum+=($index+1)*pow(36,$len-$i-1);
  }
  return $sum;
}

使用实例:

echo "get_char:".get_char(514549)."<br>";
echo "get_num:".get_num('A0ZZ')."<br>";
PHP 相关文章推荐
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
Mar 29 PHP
php 页面执行时间计算代码
Dec 04 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
smarty内置函数section的用法
Jan 22 PHP
php实现批量修改文件名称的方法
Jul 23 PHP
PHP基于新浪IP库获取IP详细地址的方法
May 04 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
Nov 10 PHP
深入解析PHP底层机制及相关原理
Dec 11 PHP
PHP7修改的函数
Mar 09 PHP
php获取当前url地址的方法小结
Jan 10 #PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 #PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 #PHP
php 访问oracle 存储过程实例详解
Jan 08 #PHP
微信开发之php表单微信中自动提交两次问题解决办法
Jan 08 #PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 #PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 #PHP
You might like
php页面消耗内存过大的处理办法
2013/03/18 PHP
PHP之短标签开启设置
2013/06/17 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
FireFox JavaScript全局Event对象
2009/06/14 Javascript
php图像生成函数之间的区别分析
2012/12/06 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
初识Javascript小结
2015/07/16 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
vue的全局变量和全局拦截请求器的示例代码
2018/09/13 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
vue实例的选项总结
2020/06/09 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
python获得一个月有多少天的方法
2015/06/04 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
python实现超简单的视频对象提取功能
2018/06/04 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
2018/06/26 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
将python2.7添加进64位系统的注册表方式
2019/11/20 Python
Python安装Bs4的多种方法
2020/11/28 Python
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
电子信息专业学生自荐信
2013/11/09 职场文书
庆七一活动简报
2015/07/20 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL
《总之就是很可爱》新作短篇动画《总之就是很可爱~制服~》将于2022年夏天播出
2022/04/07 日漫
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS