标题:这个题怎么写代码优
只看楼主
bancheaaa
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2021-1-6
 问题点数:0 回复次数:1 
这个题怎么写代码优
传入一个号
例如:CHNAA0000000001GT  打印出这个号码的下一个号码  CHNAA0000000002GT
例如:CHNBZ9999999999GT  打印出这个号码的下一个号码  CHNCA0000000001GT
新生成规则:CHN+2个字母+10数字+GT
CHN: 为固定字母
2个字母: 系统按顺序自动生成对应的2个字母编号,从AA开始
例如: AA,AB,AC.....AZ,BA,BB,....BZ,CA,CB.....依次类推
10位数字:从0000000001开始顺序递增至9999999999,当用完之后2字母变成AB,然后又重新0000000001开始至9999999999,依次类推。
GT: 为固定字母
搜索更多相关主题的帖子: 代码 顺序 字母 依次 号码 
2021-01-06 11:48
markgo
Rank: 2
等 级:论坛游民
帖 子:4
专家分:20
注 册:2021-2-6
得分:0 
程序代码:
function nextTick($curTick){
    if(strlen($curTick) != 17) return false;
    $curTick = strtoupper($curTick);
    if($curTick == 'CHNZZ9999999999GT') return false;
    $str = substr($curTick,3,12);
    $prefix = substr($str,0,2);
    $number = substr($str,2,10);
    
    if($number*1+1 > 9999999999){
        if(ord($prefix[1])*1+1 <= 90){
            return 'CHN' . $prefix[0].chr(ord($prefix[1])*1+1) . '0000000001GT';
        }else{
            return 'CHN' . chr(ord($prefix[0])*1+1).'A0000000001GT';
        }
    }else{
        return 'CHN' . $prefix . str_pad(($number*1+1),10,'0',STR_PAD_LEFT) . 'GT';
    }
    return false;
}

2021-02-06 15:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-504547-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.080234 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved