如何将 make Currying 与 PHP 绑定? (就像 JavaScript 中的 Function.prototype.bind 一样)?
我想要 https://developer.mozilla.org/en/JavaScript PHP 中的 /Reference/Global_Objects/Function/bind#Currying:
$x = function ($a, $b) {
echo $a . ' ' . $b;
};
for ($i= 0;$i< 10;$i++) {
$y = bind($x, $i)// how?
$y($i);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
实际的柯里化对于 PHP 来说可能有点牵强 (;-)),尽管如此,您可以使用 PHP 5.3+ 中的闭包做这样的事情:
Actual currying is maybe a bit of a stretch for PHP (;-)), nonetheless you can do stuff like this with Closures in PHP 5.3+:
也许您正在寻找匿名函数?
例子:
Perhaps Anonymous functions are what you are looking for?
Example:
function-php 库有一个 柯里化(来自文档):
The functional-php library has a class for currying (from the Docs):
从 php5.3 开始,您可以使用“use”关键字将柯里化参数传递到返回函数的范围:
Since php5.3 you can use the "use" keyword to pass the curried argument to the scope of the returned function: