最近在技术群中有位兄弟提出了一个问题:

想让自增的ID格式化为

A001——A999

B001——B999

……

Z001——Z999,

我最初的构思是循环中,分if条件判断出来进行A——Z字母,

但是这样做有个极大的缺点,代码显得很呆板冗余,26个英文字母等于需要26个判断。

后来有人支招将字母变成ASCⅡ码,恰好A——Z等于ASCⅡ码的65——91;

这样就只需要一个函数进行格式化ID就可以了:

   function format_string($num) {
        $tag=floor(($num-1)/999);
        //part1计算asc码
        $part1=65+$tag;

//part2计算数字部分
        $part2=$num-999*$tag;

$a=strlen($part2);

for($i=0;$i<(3-$a);$i++)
        {
         $b.=0;
        }
        $str=chr($part1).$b.$part2;
        return $str;
    }

for($i=1;$i<5000;$i++)
    {
         echo   $str=format_string($i).'<br />';
    }

转载于:https://www.cnblogs.com/tianxin2001x/archive/2009/12/25/1632118.html

php中ASCⅡ码的妙用相关推荐

  1. java asc码_Java中ASC码与字符互相转化

    package com.ljq.test; /** * Java中ASC码与字符互相转化 * * @author jiqinlin * */ public class ASCTest { privat ...

  2. Java中ASC码与字符互相转换

    每一个字符都会有对应的ASCII码,下面举例在Java中将两者互相转换: <span style="white-space:pre"> </span>Str ...

  3. java如何比较字符asc_Java中的Asc码与字符互相转化

    Java中的Asc码与字符互相转化 package com.test; public class Jm1 { private static int asnum; private static char ...

  4. awk中处理asc码

    遇到问题: server打日志时而没有将uint8的统计字段转换为int,而是直接打出来变成了asc码的值(比如1变成了^A),导致运营脚本无法正常统计,短期无法更新server,只能将日志二次加工 ...

  5. AX寄存器中存放着16位二进制数。试编写一个汇编语言程序,将这4位十六进制数分别转换为相应的ASCⅡ码,并依次存放到PLUS数组的4个字节中去,要求用调用子程序的方法实现

    [微机原理]-汇编题 AX寄存器中存放着16位二进制数.试编写一个汇编语言程序,将这4位十六进制数分别转换为相应的ASCⅡ码,并依次存放到PLUS数组的4个字节中去,要求用调用子程序的方法实现. 方法 ...

  6. matlab中asc格式,matlab将图片转换成asc码txt文本格式 | 学步园

    matlab将图片转换成asc码 function img2txt(imfile,varargin); % using an ASCII character for every stepx pixel ...

  7. 十六进制转换为ASC码

    单片机能够识别与处理的是二进制码,一位十六进制数在内存中的表现为四位二进制数.至于ASC码与BCD码,通俗来讲,前者是某个数字.字母.或符号的代码,固定且唯一,而后者则是二进制编码的十进制数.举个栗子 ...

  8. 汇编-ASCⅡ码转二进制码

    一.实习题目:ASCⅡ码转二进制码程序实验 二.实习目的:掌握码制转换的基本原理及相应的转换程序的编写方法. 三.实习内容:将ASCⅡ码数据转换成二进制数据.要求从键盘上输入十进制整数(假定范围0~3 ...

  9. 汇编语言(二)之将十进制数的ASCⅡ码转换为BCD码

    题目要求 从键盘输入五位十进制数的ASCⅡ码,存放于3500h其实的内存单元中,将其转换为BCD码后,再按位分别存入350Ah起始的内存单元内.若输入的不是十进制ASCⅡ码,则对应存放结果的单元内容为 ...

最新文章

  1. m.pythontab.com_python字符串连接的三种方法及其效率、适用场景详解
  2. python pandas_Python库Pandas数据可视化实战案例
  3. Unity消息简易框架 Advanced C# messenger
  4. zigbee的路由器能分配网络地址吗_网络基础知识学习 小白也能变专家
  5. jsp设置背景图片并使得图片扩大到整个屏幕
  6. centos7重新加载服务的命令_Centos7 常用防火墙操作命令
  7. CVPR 2020 论文大盘点-文本图像篇
  8. linux 774是什么权限,Linux权限
  9. janusgraph整合mysql_图解图库JanusGraph系列-一文知晓“图数据“底层存储结构
  10. Problem(三):工作中的记录。。。。
  11. ORM框架 Dapper
  12. 关于 “总机服务” 新增功能来电弹屏的功能说明
  13. cmd 一键清除系统垃圾
  14. AtCoder Beginner Contest 164 E Two Currencies Bellman-Ford优化思想+01背包+动归dp状态转移
  15. hxxp://www.hao923.com.cn/劫持浏览器
  16. 1分钟学会网站采集方法详解
  17. C++ 输入输出(cin cout)加速/效率优化
  18. 6--目标检测和边界框和锚框
  19. vue RSA加密算法(jsencrypt)的使用
  20. conda 安装第三方包

热门文章

  1. [转]如何阅读systemstate dump
  2. nginx rwrite及增加不记录特定状态日志nginx模块
  3. linux应用编程之进程间同步
  4. Guangsoushensou 2
  5. python学习笔记之——装饰器及对象
  6. Raid、lvm知识
  7. 显示桌面图标不见了的解决方法
  8. 开源大数据:MLSQL
  9. AngularJS Providers 详解
  10. eclipse 的Java Resource文件夹显示有错,可是文件夹下面的文件没有提示错误,这是怎么回事?怎么解决?