3v4l.org

run code in 300+ PHP versions simultaneously
<?php $recipes = [ 'cc' => [ 'in' => ['c' => 1], 'out' => ['cc' => 2], 'time' => 0.5, 'terminal' => true, ], 'gc' => [ 'in' => ['cc' => 1.5, 'i' => 1,], 'out' => ['gc' => 1], 'time' => 0.5, 'terminal' => false, ], 'rc' => [ 'in' => ['gc' => 2, 'p' => 2, 'cc' => 2], 'out' => ['rc' => 1], 'time' => 6, 'terminal' => false, ], 'bc' => [ 'in' => ['gc' => 20, 'rc' => 2], 'out' => ['bc' => 1], 'time' => 10, 'terminal' => false, ], ]; function solveFor($recipes, $type, $numAssemblers, $requirements = []) { if ( $recipes[$type]['terminal']) { foreach($recipes[$type]['in'] as $k => $v) { if (! array_key_exists($type, $requirements)) { $requirements[$type] = 0; } $perMinute = 60 / $recipes[$type]['time']; $requirements[$k] = $requirements[$k] + ($numAssemblers * $v * $perMinute); return $requirements; } } else { foreach($recipes[$type]['in'] as $k => $v) { $depReq = solveFor($recipes, $k, 1, $requirements); foreach ($depReq as $k2 => $v2) { $requirements[$k2] += $v2; } } return $requirements; } } print_r( solveFor($recipes, 'cc', 4, []) );
Output for git.master_jit, git.master, rfc.property-hooks
Warning: Undefined array key "c" in /in/mkSng on line 39 Array ( [cc] => 0 [c] => 480 )

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