PHP array_map与Python lambda的比较
我在Python里有一个集合:
set = {list} [[['x']], [], [], []]
i = 1
j = 0
这是我遇到的问题代码:
set[i] += map(lambda x: [j] + x, set[i - 1])
经过计算后,结果得到了以下正确的集合:
set = {list} [[['x']], [[0, 'x']], [], []]
有没有办法在PHP中用array_map和lambda函数创建一个相同的功能呢?
有什么想法吗?
我试过这个:
$set[$i] = array_map(function ($s,$j) { return $j + $s; } , $set[$i - 1]);
但是这样不行,因为在lambda函数里面无法使用参数$j。
1 个回答
1
$j
不应该作为函数的参数;相反,它应该是从外部环境中获取的一个变量,类似于下面的例子:
$set[$i] = array_map(function ($s) use ($j) { return $j + $s; } , $set[$i - 1]);