我一直在使用这样的回调函数:
private function make_f($arg1, $arg2)
{
$callback =
function ($my_var) use ($arg1, $arg2)
{
return $my_var * $arg1 * arg2;
};
return $callback;
}
It supports通过 PHP 5.3.0 但我的托管提供商有 PHP 5.2.6,所以它不起作用。有什么办法可以修复这个问题吗?
最佳答案
这实际上取决于 $arg
是什么。对于 $arg
的任何可能值,我只能想出这样的结果:
public static $arguments = array();
private function make_f($arg)
{
$variable_name = uniqid();
ThisClass::$arguments[$variable_name] = $arg; // Replace ThisClass with the name of the actual class
$callback = create_function('$my_var', 'return $my_var * ThisClass::$arguments[\'' . $variable_name . '\'];');
return $callback;
}
关于PHP 5 中的 PHP 匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10200401/