【发布时间】:2019-01-24 22:42:13
【问题描述】:
我正在尝试使用此方法获取数组中每个项目的阶乘值,但这仅输出一个值 任何机构都可以帮助我找到我做错的地方吗?
function mathh($arr, $fn){
for($i = 1; $i < sizeof($arr); $i++){
$arr2 = [];
$arr2[$i] = $fn($arr[$i]);
}
return $arr2;
}
$userDefined = function($value){
$x = 1;
return $x = $value * $x;
};
$arr = [1,2,3,4,5];
$newArray = mathh($arr, $userDefined);
print_r($newArray);
【问题讨论】:
-
嘿,Jay,我实际上正在尝试学习 lambda 函数,我知道这只能使用单个函数来完成,但我想知道这是否可行?如果是,那么需要回答,以便我可以学习更多函数式编程
-
首先,当我尝试运行你的代码时,$x 是未定义的。
-
我认为在 for 循环中初始化
$arr2会是个问题。 -
看起来
mathh可能正在尝试重新实现array_map。你知道array_map吗?
标签: php function lambda functional-programming