3v4l.org

run code in 300+ PHP versions simultaneously
<?php function base26($value) { $value -= 1; // zero-based $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("value: %d, remainder: %d\n", $value, $remainder); $value -= $remainder; } return $name; } for ($i = 1; $i < 28; $i++) { echo $i . "->" . base26($i) . "\n"; }
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
1-> value: 1, remainder: 1 2->B value: 2, remainder: 2 3->C value: 3, remainder: 3 4->D value: 4, remainder: 4 5->E value: 5, remainder: 5 6->F value: 6, remainder: 6 7->G value: 7, remainder: 7 8->H value: 8, remainder: 8 9->I value: 9, remainder: 9 10->J value: 10, remainder: 10 11->K value: 11, remainder: 11 12->L value: 12, remainder: 12 13->M value: 13, remainder: 13 14->N value: 14, remainder: 14 15->O value: 15, remainder: 15 16->P value: 16, remainder: 16 17->Q value: 17, remainder: 17 18->R value: 18, remainder: 18 19->S value: 19, remainder: 19 20->T value: 20, remainder: 20 21->U value: 21, remainder: 21 22->V value: 22, remainder: 22 23->W value: 23, remainder: 23 24->X value: 24, remainder: 24 25->Y value: 25, remainder: 25 26->Z value: 26, remainder: 0 value: 26, remainder: 26 27->BA

preferences:
266.39 ms | 407 KiB | 399 Q