zoukankan      html  css  js  c++  java
  • php中ASCⅡ码的妙用

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

    想让自增的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 />';
        }



  • 相关阅读:
    mysql的权限定义
    数据库的启动流程和关闭介绍/mysql初始化配置文件
    SQL 执行顺序
    AJAX 同步请求锁浏览器
    JSON
    Json.NET
    JSON.parse()和JSON.stringify()
    the XMLHttpRequest Object
    命名方式
    varchar 和 nvarchar 的区别和使用
  • 原文地址:https://www.cnblogs.com/tianxin2001x/p/1632118.html
Copyright © 2011-2022 走看看