3v4l.org

run code in 300+ PHP versions simultaneously
<?php function getCombinedSum($digits, $sum) { if(!is_int($digits) || !is_int($sum) || $digits<1 || $sum<0) { throw new InvalidArgumentException('Invalid numeric format'); } if($sum>9*$digits) { throw new LogicException('Sum out of range'); } if($digits==1) { return [$sum=>$sum]; } $result = []; for($digit=0; $digit<10 && $sum-$digit>0; $digit++) { foreach(getCombinedSum($digits-1, $sum-$digit) as $subsum) { $result[$digit.$subsum] = $digit.$subsum; $result[$subsum.$digit] = $subsum.$digit; } } return $result; } var_dump(getCombinedSum(3, 2));
Output for git.master, git.master_jit, rfc.property-hooks
array(6) { ["002"]=> string(3) "002" ["020"]=> string(3) "020" [200]=> string(3) "200" ["011"]=> string(3) "011" [110]=> string(3) "110" [101]=> string(3) "101" }

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:
52.25 ms | 401 KiB | 8 Q