php function curry args func_get_args args unset args print return cre

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<?php
function curry(){
$args = func_get_args();
$f = $args[0];
unset($args[0]);
/* print( */
return create_function('',
"\$a = func_get_args(); return call_user_func_array('$f', ".
/* Засунуть сюда $args из curry(), чтобы функция внутри строки поняла его адекватно? Авотуй! */
"\$a);");
}
print_r(call_user_func(curry('array_map', 'log'), array(2, 3, 5, 7)));
?>