1

我知道在 PHP 中你可以声明一个变量 A,然后如果你在循环中递增它,它将变为 A,B,C,....X,Y,Z,AA,AB,AC

是否有任何php函数可以将整数转换为该格式的相应字符串

4

3 回答 3

0

最接近该格式的是base_convert,但它使用 0-9A-Z 字符集。

您可以使用 base 26,然后移动字符集。

于 2012-04-18T15:33:23.607 回答
0

使用 chr 函数,将 int 转换为 ascii 代码(大写字母从 65-90),所以 65+i,要使用 i >= 26,你必须一次做一个字母

所以,像这样的东西......

function noToString($i) {
  if($i < 26) return chr(65+$i);
  else return noToString($i-26).chr(65+$i%26);
}
于 2012-04-18T15:37:22.203 回答
0

我从 Tor P 的回答开始,我认为这可以按预期工作:

function numToString($i) {
    if($i < 26) {
        return chr(65 + $i);
    } else {
        $i -= 26;
        $r = $i % 26;
        return numToString($i - $r).chr(65 + $r);
    }
}
于 2012-04-18T16:12:44.803 回答