Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1178224
  • 博文数量: 252
  • 博客积分: 5421
  • 博客等级: 大校
  • 技术积分: 2418
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-17 12:59
文章分类

全部博文(252)

文章存档

2017年(3)

2016年(18)

2015年(31)

2014年(18)

2013年(7)

2012年(8)

2011年(12)

2010年(30)

2009年(32)

2008年(57)

2007年(36)

分类: PHP

2014-08-05 16:14:02


  1. <?php
  2. /**
  3.  * 将十进制数字转换为二十六进制字母串
  4.  */
  5. function num2alpha($intNum, $isLower=true)
  6. {
  7.     $num26 = base_convert($intNum, 10, 26);
  8.     $addcode = $isLower ? 49 : 17;
  9.     $result = '';
  10.     for ($i=0; $i<strlen($num26); $i++) {
  11.         $code = ord($num26{$i});
  12.         if ($code < 58) {
  13.             $result .= chr($code+$addcode);
  14.         } else {
  15.             $result .= chr($code+$addcode-39);
  16.         }
  17.     }
  18.     return $result;
  19. }


  20. /**
  21.  * 将二十六进制字母串转换为十进制数字
  22.  */
  23. function alpha2num($strAlpha)
  24. {
  25.     if (ord($strAlpha{0}) > 90) {
  26.         $startCode = 97;
  27.         $reduceCode = 10;
  28.     } else {
  29.         $startCode = 65;
  30.         $reduceCode = -22;
  31.     }
  32.     $num26 = '';
  33.     for ($i=0; $i<strlen($strAlpha); $i++) {
  34.         $code = ord($strAlpha{$i});
  35.         if ($code < $startCode+10) {
  36.             $num26 .= $code-$startCode;
  37.         } else {
  38.             $num26 .= chr($code-$reduceCode);
  39.         }
  40.     }
  41.     return (int)base_convert($num26, 26, 10);
  42. }


阅读(598) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~