gpt4 book ai didi

php - PHP <5.3 中的真正闭包

转载 作者:可可西里 更新时间:2023-11-01 00:47:40 25 4
gpt4 key购买 nike

有什么方法可以在 PHP 中为 5.3 之前的语言版本编写真正的闭包(因为 5.3 为匿名函数添加了 use 关键字)?

我是 PHP 5.3+ 我可以写:

function make_adder($x) {
return function($to) use ($x) {
return $to + $x;
};
}
$add5 = make_adder(5);
$add5(100); # => 105

如何使用这种在函数内部定义函数的模式,并且内部函数可以访问外部函数变量?

最佳答案

在这个简单的例子中,下面的代码会起作用:

function make_adder($x) {
return create_function('$to', 'return '.var_export($x, true).' + $to;');
}
$add5 = make_adder(5);
$add5(100); # => 105

但这并不是严格意义上的闭包。

关于php - PHP <5.3 中的真正闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14238686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com