- array_merge: documentation ( source)
<?php
function curry($f, ...$argsCurried) {
return function(...$args) use($f, $argsCurried) {
$finalArgs = array_merge($argsCurried, $args);
return call_user_func_array($f, $finalArgs);
};
}
function add($n1, $n2) {
return $n1 + $n2;
}
$addFive = curry('add', 5);
echo $addFive(2), PHP_EOL;
echo $addFive(-5), PHP_EOL;