I\'m working on a script that generate some Excel documents and I need to convert a number into its column name equivalent. For example:
1 => A
2 => B
Combining ircmaxell's recursive answer I've got this one:
function getNameFromNumber($num, $index=0) {
$index = abs($index*1); //make sure index is a positive integer
$numeric = ($num - $index) % 26;
$letter = chr(65 + $numeric);
$num2 = intval(($num -$index) / 26);
if ($num2 > 0) {
return getNameFromNumber($num2 - 1 + $index) . $letter;
} else {
return $letter;
}
}
I'm using the default indexing as 0 based, but it can be any positive integer for when juggling with arrays in PHP.