3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace x { define('x\_', bin2hex(random_bytes(128))); function partial(callable $f, ...$x) { return static function (...$y) use ($f, $x) { // replace every placeholder with the next passed parameter $x = array_map( function ($a) use (&$y) { return _ === $a ? array_shift($y) : $a; }, $x ); // append any remaining parameters $x = array_merge($x, $y); return $f(...$x); }; } } namespace { use const x\_; use function x\partial; $cube = partial('pow', _, 3); var_dump($cube(2)); $dash = partial('implode', '-'); var_dump($dash([1,2,3])); }

preferences:
26 ms | 410 KiB | 5 Q