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 create_function
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 create_function
but still can enter free-form formula that I want to be evaluated with my own parameters?
$newfunc = create_function(
'$a,$b',
'return "ln($a) + ln($b) = " . log($a * $b);'
);
echo $newfunc(2, M_E) . "\n";
Example taken from PHP's create_function
page.
Note:
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 create_function
?
The create_function() is an inbuilt function in PHP which is used to create an anonymous (lambda-style) function in the PHP. Parameters: This function accepts two parameters which is describes below: $args: It is a string type function argument.
Anonymous functions, also known as closures , allow the creation of functions which have no specified name. They are most useful as the value of callable parameters, but they have many other uses. Anonymous functions are implemented using the Closure class.
$newfunc = function($a, $b) {
return "ln($a) + ln($b) = " . log($a * $b);
}
echo $newfunc(2, M_E) . "\n";
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With