【问题标题】:PHP closures & callbacksPHP 闭包和回调
【发布时间】:2016-04-06 03:14:48
【问题描述】:

我正在学习闭包,但我被这个困住了:

function addPrefix($string) {
    return function($prefix) use ($string) {
        echo $prefix.$string;
    };
}
$randomstring = "a test";
$c = addPrefix($randomstring);
echo $c("This is ");

为什么要连接 $prefix?它甚至没有被称为参数,我只是不明白。

【问题讨论】:

  • $prefix 连接到$string,因为这是外部函数addPrefix 的意图,如果它没有声明为参数,一定是因为它在其他地方声明在与外部函数相同的范围内。

标签: php function callback closures


【解决方案1】:

请注意,您的示例中有 2 个功能。 addPrefix,以及它 addPrefix 返回的匿名函数。

所以,$c 是这个匿名函数(由 addPrefix 返回),它有 $prefix 参数。

【讨论】:

    猜你喜欢
    • 2012-12-08
    • 2015-08-07
    • 2015-05-22
    • 2011-01-05
    • 1970-01-01
    • 2011-12-18
    • 2013-01-18
    • 2015-07-02
    • 1970-01-01
    相关资源
    最近更新 更多