PHP array_map vs使用lambda的Python映射

时间:2014-09-07 09:30:20

标签: php python lambda closures

我在Python中有一个集合:

set = {list} [[['x']], [], [], []]
i = 1
j = 0

这是我的问题代码:

set[i] += map(lambda x: [j] + x, set[i - 1])

计算后,该行产生以下正确的集合:

set = {list} [[['x']], [[0, 'x']], [], []]

是否可以创建相同的lambda函数 无论如何在PHP中使用array_map和lambda?

任何想法?

我试过了:

  $set[$i] = array_map(function ($s,$j) { return $j + $s; } , $set[$i - 1]);

但是这不起作用,因为参数$ j在lambda中不可用

1 个答案:

答案 0 :(得分:1)

$j不应该是函数参数;相反,它应该是从周围范围捕获的变量,如:

$set[$i] = array_map(function ($s) use ($j) { return $j + $s; } , $set[$i - 1]);