很久以前为导出EXCEL写过一个字母累加的函数,今天追加一个数字转为字母的。也就是十进制转26进制。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

for ($i = 1; $i < 200; $i++) {
    echo $i . ' : ' . num2Letter($i) . '<br />';
}

function num2Letter($num) {
    $num = intval($num);
    if ($num <= 0)
        return false;
    $letterArr = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
    $letter = '';
    do {
        $key = ($num - 1) % 26;
        $letter = $letterArr[$key] . $letter;
        $num = floor(($num - $key) / 26);
    } while ($num > 0);
    return $letter;
}

相关文章:

  • 2022-12-23
  • 2021-08-15
  • 2021-11-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2021-10-15
猜你喜欢
  • 2021-10-12
  • 2022-12-23
  • 2021-12-14
  • 2022-12-23
  • 2022-03-13
  • 2022-12-23
相关资源
相似解决方案