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 相关文章推荐
在PHP中使用与Perl兼容的正则表达式
Nov 26 PHP
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
php引用传值实例详解学习
Nov 06 PHP
浅谈使用PHP开发微信支付的流程
Oct 04 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
Jan 07 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
Mar 23 PHP
redis查看连接数及php模拟并发创建redis连接的方法
Dec 15 PHP
PHP的中使用非缓冲模式查询数据库的方法
Feb 05 PHP
php微信公众号开发之现金红包
Apr 16 PHP
laravel获取不到session的三种解决办法【推荐】
Sep 16 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
Apr 23 PHP
PHP dirname功能及原理实例解析
Oct 28 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
很实用的一个完整email发送程序
2006/10/09 PHP
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
PHP读MYSQL中文乱码的解决方法
2006/12/17 PHP
php $_ENV为空的原因分析
2009/06/01 PHP
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
JS按字节截取字符长度实例
2013/11/20 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
2015/10/26 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
2018/03/01 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
2017/01/28 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
python logging 日志的级别调整方式
2020/02/21 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
用python写PDF转换器的实现
2020/10/29 Python
python安装及变量名介绍详解
2020/12/12 Python
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
在职人员函授期间自我评价分享
2013/11/08 职场文书
党员学习十八大感想
2014/01/17 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
基于JavaScript实现年月日三级联动
2021/06/22 Javascript
MySQL中order by的使用详情
2021/11/17 MySQL
MySQL 原理与优化之Update 优化
2022/08/14 MySQL