3v4l.org

run code in 300+ PHP versions simultaneously
<?php $x = function ($v) { return $v * 2; }; $y = function ($v) { return $v * 2; }; $z = function ($v) { return $v * 200; }; $compose_ = function ($documentation) { $closures = func_get_args(); array_shift($closures); // er($args,'$args'); return function ($param = null) use ($documentation, $closures) { if (!$param) { return $documentation; } $first_closure = array_shift($closures); $val = $first_closure($param); foreach ($closures as $closure) { $val = $closure($val); } return $val; }; }; $c = $compose_('Compose of Int -> $x -> $y -> $z -> Int', $x, $y, $z); echo $c(); echo $c(345);

preferences:
40.93 ms | 402 KiB | 5 Q