Arn*_*Ncy 7 php parameters functional-programming
我实际上是在试验php中的函数式编程.我想对一些函数调用有一些准确性.
举个例子:
function addition($num1){
return function ($num2) use ($num1){
return $num1+$num2;
}
}
$add_2_to = addition(2);
echo $add_2_to(3);
echo $add_2_to(4);
Run Code Online (Sandbox Code Playgroud)
有没有办法用所有参数调用加法函数?我试着用这种方式没有机会:
echo addition(2)(3);
Run Code Online (Sandbox Code Playgroud)
你很近.PHP没有词法范围,因此变量$ num1在返回的函数中不可用...因为你必须使用它显式导入它use
function addition($num1){
return function ($num2) use ($num1){
return $num1*$num2;
};
}
$add_2_to = addition(2);
echo $add_2_to(3);
echo $add_2_to(4);
Run Code Online (Sandbox Code Playgroud)
你echo addition(2)(3);目前提出的语法不起作用,但是当php 7到达时它会.对于当前版本的php,您可以使用call_user_func来执行您想要的操作.
echo call_user_func(addition(2), 3);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |