Dennis Dennis - 1 year ago 43
PHP Question

How to rewrite an example without the use of create_function?

When looking at PHP's create_function it says:

If you are using PHP 5.3.0 or newer a native anonymous function should be used instead.

I want to recreate same functionality of
but using an
anonymous function
. I do not see how, or if I am approaching it correctly.

In essence, how do I change the following so that I no longer use
but still can enter free-form formula that I want to be evaluated with my own parameters?

$newfunc = create_function(
'return "ln($a) + ln($b) = " . log($a * $b);'
echo $newfunc(2, M_E) . "\n";

Example taken from PHP's


It looks like with the above example I can pass in an arbitrary string, and have it be compiled for me. Can I somehow do this without the use of

Answer Source
$newfunc = function($a, $b) {
    return "ln($a) + ln($b) = " . log($a * $b);

echo $newfunc(2, M_E) . "\n";