小编典典

PHP:如何输出这样的列表:AA,AB,AC,一直到ZZZY,ZZZZ,ZZZZA等

algorithm

我正在尝试编写一个将整数转换为这样的字符串的函数,但我无法弄清楚逻辑… :(

1 = a
5 = e
27 = aa
28 = ab
etc...

有人可以帮忙吗?我真的很纳闷,我不能把我的头放在如何写这个… :(


阅读 611

收藏
2020-07-28

共1个答案

小编典典

长长的清单在这里

/*
 * Convert an integer to a string of uppercase letters (A-Z, AA-ZZ, AAA-ZZZ, etc.)
 */
function num2alpha($n)
{
    for($r = ""; $n >= 0; $n = intval($n / 26) - 1)
        $r = chr($n%26 + 0x41) . $r;
    return $r;
}

/*
 * Convert a string of uppercase letters to an integer.
 */
function alpha2num($a)
{
    $l = strlen($a);
    $n = 0;
    for($i = 0; $i < $l; $i++)
        $n = $n*26 + ord($a[$i]) - 0x40;
    return $n-1;
}
2020-07-28