首页 > 解决方案 > 循环混合字母和数字以具有 3 个字符串

问题描述

我想按顺序循环字母和数字以获得3个字符串,直到结果为真。顺序应该是 A00, A01....A99, B00, B01....Z99 然后 AA1, AA2...最后是 ZZ9

我试过用这个;它能够生成A01到Z99

$success = false;
foreach (range('A', 'Z') as $x)
{
    if ($success === false)
    {
        for ($y = 0;$y < 100;$y++)
        {
            if ($success === false)
            {
                $serialNo = $x . sprintf("%02d", $y);
                
            }
            else
            {
                break;
            }
        }
    }
}

使用它,我设法将 AA9 升级到 ZZ9

$success = false;
foreach (range('A', 'Z') as $x)
{
    if ($success === false)
    {
        foreach (range('A', 'Z') as $y)
        {

            for ($z = 0;$z < 10;$z++)
            {
                if ($success === false)
                {
                    $serialNo =  $x . $y . $z;
                }
                else
                {
                    break;
                }
            }
        }
    }
    else
    {
        break;
    }
}

如果我只想从某个位置开始循环,例如从 A99 或 BB1 开始,我该怎么做?这是因为我需要将 serialNo 发送到我不知道最后一个增量的共享 API。

标签: php

解决方案


示例从 BB1 开始。

foreach (range('B', 'Z') as $x)

foreach (range('B', 'Z') as $y)

for ($z = 1;$z < 10;$z++)

您只需将范围的开始修改为您开始的字符。


推荐阅读