PHP 5 中的 PHP 匿名函数

标签 php anonymous-function

我一直在使用这样的回调函数:

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;
}

Here's a demo.

关于PHP 5 中的 PHP 匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10200401/

相关文章:

lambda - 纯函数中的模式匹配

javascript - JavaScript 中匿名函数的作用域问题

delphi - 为什么我不能将我的函数引用分配给匹配的变量? E2555 升高

c# - 创建委托(delegate) MouseEventHandler 的新实例

php - 可以改进此 PHP 代码吗?

php - 如何使用 oauth2-server-laravel

javascript - AJAX 和 SQL 重复结果

php - 多页后ECHO结果变成FORM

PHP PDO 参数编号无效

javascript - 为什么使用命名函数表达式?