<?php
function base26($value) {
$name = '';
for ($exponent = 0; pow(26, $exponent) <= $value; $exponent++) {
$digitValue = intval(pow(26, $exponent));
$remainder = $value % intval(pow(26, $exponent + 1));
$ascii = 65 + intval($remainder / $digitValue);
$name = chr($ascii) . $name;
echo sprintf("digitValue: %d, ascii: %d, value: %d, remainder: %d\n", $digitValue, $ascii, $value, $remainder);
$value -= $remainder;
}
return $name;
}
for ($i = 1; $i < 28; $i++) { echo $i . "->" . base26($i) . "\n"; }
preferences:
33.43 ms | 402 KiB | 5 Q