При взгляде на PHP create_function это говорит:
Если вы используете PHP 5.3.0 или новее нативный анонимная функция следует использовать вместо
Я хочу воссоздать ту же функциональность create_function
но используя anonymous function
, Я не вижу, как, или я правильно к нему подхожу.
По сути, как мне изменить следующее, чтобы я больше не использовал create_function
но все еще можете ввести формулу свободной формы, которую я хочу оценивать с моими собственными параметрами?
$newfunc = create_function(
'$a,$b',
'return "ln($a) + ln($b) = " . log($a * $b);'
);
echo $newfunc(2, M_E) . "\n";
Пример взят из PHP create_function
стр.
Замечания:
Это похоже на приведенный выше пример, который я могу передать в произвольный строка, и пусть она будет скомпилирована для меня. Можно ли как-то сделать это без использования create_function
?
$newfunc = function($a, $b) {
return "ln($a) + ln($b) = " . log($a * $b);
}
echo $newfunc(2, M_E) . "\n";
Других решений пока нет …