PHP实现十进制数字与二十六进制字母串相互转换操作示例


Posted in PHP onAugust 10, 2018

本文实例讲述了PHP实现十进制数字与二十六进制字母串相互转换操作。分享给大家供大家参考,具体如下:

<?php
/**
 * 将十进制数字转换为二十六进制字母串
 */
function num2alpha($intNum, $isLower=true)
{
  $num26 = base_convert($intNum, 10, 26);
  $addcode = $isLower ? 49 : 17;
  $result = '';
  for ($i=0; $i<strlen($num26); $i++) {
    $code = ord($num26{$i});
    if ($code < 58) {
      $result .= chr($code+$addcode);
    } else {
      $result .= chr($code+$addcode-39);
    }
  }
  return $result;
}
/**
 * 将二十六进制字母串转换为十进制数字
 */
function alpha2num($strAlpha)
{
  if (ord($strAlpha{0}) > 90) {
    $startCode = 97;
    $reduceCode = 10;
  } else {
    $startCode = 65;
    $reduceCode = -22;
  }
  $num26 = '';
  for ($i=0; $i<strlen($strAlpha); $i++) {
    $code = ord($strAlpha{$i});
    if ($code < $startCode+10) {
      $num26 .= $code-$startCode;
    } else {
      $num26 .= chr($code-$reduceCode);
    }
  }
  return (int)base_convert($num26, 26, 10);
}
PHP 相关文章推荐
实现分十页分向前十页向后十页的处理
Oct 09 PHP
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
Mar 23 PHP
如何在php中正确的使用json
Aug 06 PHP
ThinkPHP验证码使用简明教程
Mar 05 PHP
php网页标题中文乱码的有效解决方法
Mar 05 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
Oct 20 PHP
php制作动态随机验证码
Feb 12 PHP
php备份数据库类分享
Apr 14 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
Aug 17 PHP
PHP实现的用户注册表单验证功能简单示例
Feb 25 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
PHP实现的服务器一致性hash分布算法示例
Aug 09 #PHP
PHP检查端口是否可以被绑定的方法示例
Aug 09 #PHP
php对象工厂类完整示例
Aug 09 #PHP
php闭包中使用use声明变量的作用域实例分析
Aug 09 #PHP
php生成二维码不保存服务器还有下载功能的实现代码
Aug 09 #PHP
PHP命令Command模式用法实例分析
Aug 08 #PHP
PHP耦合设计模式实例分析
Aug 08 #PHP
You might like
php显示时间常用方法小结
2015/06/05 PHP
web性能优化之javascript性能调优
2012/12/28 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
手把手教你把nodejs部署到linux上跑出hello world
2017/06/19 NodeJs
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
JS通过位运算实现权限加解密
2018/08/14 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
webpack的tree shaking的实现方法
2019/09/18 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
Python调用C++程序的方法详解
2017/01/24 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
2019/01/03 Python
Python进阶之全面解读高级特性之切片
2019/02/19 Python
Python 3 判断2个字典相同
2019/08/06 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
Flask-SocketIO服务端安装及使用代码示例
2020/11/26 Python
澳大利亚最受欢迎的女士度假服装:Kabana Shop
2020/10/10 全球购物
学校联谊活动方案
2014/02/15 职场文书
论文评语大全
2014/04/29 职场文书
社区创先争优承诺书
2014/08/30 职场文书
员工培训协议书
2014/09/15 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
大学生就业推荐表自我评价
2015/03/02 职场文书
浅谈redis缓存在项目中的使用
2021/05/20 Redis
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL