3v4l.org

run code in 300+ PHP versions simultaneously
<?php function calc($x) { return function($y = null) use ($x) { if (is_callable($y)) { return $y(...$x); } else { $args = (array) $x; $args[] = $y; return calc($args); } }; } $sum = function(...$args) { return array_sum($args); }; echo calc(5)(3)(2)($sum), PHP_EOL; echo calc(1)(2)($sum), PHP_EOL; echo calc(2)(3)('pow'), PHP_EOL;

preferences:
130.5 ms | 405 KiB | 5 Q