3v4l.org

run code in 300+ PHP versions simultaneously
<?php class NumberRank { public readonly int $power; public readonly int $number; public function __construct(int $power, int $number) { $this->power = $power; $this->number = $number; } } class RankedNumber { public readonly array $ranks; public function __construct(int $number) { $power = 0; $ranks = []; while ($number > 0) { $rankNumber = $number % 1000; $number = (int) floor($number / 1000); $power += 3; $ranks[$power] = new NumberRank($power, $rankNumber); } $this->ranks = $ranks; } } class Dictionary {} interface NumberToTextSpelling { public function spell(RankedNumber $number, Dictionary $dictionary): string; } class NumberToRussianTextSpelling implements NumberToTextSpelling { public function spell(RankedNumber $number, Dictionary $dictionary): string { // actual translation return ''; } } var_dump(new RankedNumber(11012013));
Output for git.master_jit, git.master
object(RankedNumber)#1 (1) { ["ranks"]=> array(3) { [3]=> object(NumberRank)#2 (2) { ["power"]=> int(3) ["number"]=> int(13) } [6]=> object(NumberRank)#3 (2) { ["power"]=> int(6) ["number"]=> int(12) } [9]=> object(NumberRank)#4 (2) { ["power"]=> int(9) ["number"]=> int(11) } } }

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:
50.53 ms | 406 KiB | 5 Q