我知道在 PHP 中你可以声明一个变量 A,然后如果你在循环中递增它,它将变为 A,B,C,....X,Y,Z,AA,AB,AC
是否有任何php函数可以将整数转换为该格式的相应字符串
最接近该格式的是base_convert,但它使用 0-9A-Z 字符集。
您可以使用 base 26,然后移动字符集。
使用 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);
}
我从 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);
}
}