3v4l.org

run code in 300+ PHP versions simultaneously
<?php function create_word(string $alphabet, int $index): string { $base = mb_strlen($alphabet); $fix = 1; $length = 1; foreach (range(1, $base) as $k) { $pow = pow($base, $k); if ($fix + $pow <= $index) { $fix += $pow; $length++; } else { break; } } $template = sprintf("%0{$length}d", base_convert($index - $fix, 10, $base)); $replace = implode('', range(0, $base)); return strtr($template, $replace, $alphabet); } for ($i = 1; $i <= 81; $i++) { echo $i . ' = '. create_word("abc", $i) . \PHP_EOL; }
Output for git.master, git.master_jit, rfc.property-hooks
1 = a 2 = b 3 = c 4 = aa 5 = ab 6 = ac 7 = ba 8 = bb 9 = bc 10 = ca 11 = cb 12 = cc 13 = aaa 14 = aab 15 = aac 16 = aba 17 = abb 18 = abc 19 = aca 20 = acb 21 = acc 22 = baa 23 = bab 24 = bac 25 = bba 26 = bbb 27 = bbc 28 = bca 29 = bcb 30 = bcc 31 = caa 32 = cab 33 = cac 34 = cba 35 = cbb 36 = cbc 37 = cca 38 = ccb 39 = ccc 40 = aaaa 41 = aaab 42 = aaac 43 = aaba 44 = aabb 45 = aabc 46 = aaca 47 = aacb 48 = aacc 49 = abaa 50 = abab 51 = abac 52 = abba 53 = abbb 54 = abbc 55 = abca 56 = abcb 57 = abcc 58 = acaa 59 = acab 60 = acac 61 = acba 62 = acbb 63 = acbc 64 = acca 65 = accb 66 = accc 67 = baaa 68 = baab 69 = baac 70 = baba 71 = babb 72 = babc 73 = baca 74 = bacb 75 = bacc 76 = bbaa 77 = bbab 78 = bbac 79 = bbba 80 = bbbb 81 = bbbc

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
55.5 ms | 402 KiB | 8 Q