Код: Выделить всё
function create_lambda($args, $code) {
static $func;
if (!isset($func[$args][$code])) {
$func[$args][$code] = function() use ($code,$args){
$tmp = explode(',',$args);
$arg_list = func_get_args();
foreach($tmp as $key => $var){
if(is_array($arg_list[$key])){
$run = '';
foreach($arg_list[$key] as $arg_key => $arg_val){
$run .= $var.'['.$arg_key.'] = \''.$arg_val.'\';';
}
}else{
$run = "$var = '".$arg_list[$key]."';";
}
eval($run);
}
return eval($code);
};
//create_function($args, $code);
}
return $func[$args][$code];
}