<?php
function create_function2($args, $content) {
static $counter = 0;
$funcname = "\0lambda_" . (++$counter);
eval("function $funcname ({$args}) { {$content}; }");
return $funcname;
}
$func1 = create_function('$a,$b', 'return $a.$b;');
$func2 = create_function2('$a,$b', 'return $a.$b;');
$rs1 = $func1(1, 2);
$rs2 = $func2(1, 2);
var_dump($func1, $rs1);
var_dump($func2, $rs2);
var_dump(function_exists($func1), function_exists($func2));
var_dump(in_array($func1, get_defined_functions()), in_array($func2, get_defined_functions()));
preferences:
49.55 ms | 402 KiB | 5 Q