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]; } $result = []; for($digit=0; $digit<10 && $sum-$digit>0; $digit++) { foreach(getCombinedSum($digits-1, $sum-$digit) as $subsum) { $result[] = $digit.$subsum; $result[] = $subsum.$digit; } } return array_unique($result); } var_dump(getCombinedSum(3, 4));
Output for git.master, git.master_jit, rfc.property-hooks
array(15) { [0]=> string(3) "004" [1]=> string(3) "040" [3]=> string(3) "400" [4]=> string(3) "013" [5]=> string(3) "130" [6]=> string(3) "031" [7]=> string(3) "310" [8]=> string(3) "022" [9]=> string(3) "220" [10]=> string(3) "103" [13]=> string(3) "301" [14]=> string(3) "112" [15]=> string(3) "121" [17]=> string(3) "211" [18]=> string(3) "202" }

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:
44.87 ms | 402 KiB | 8 Q