PHP array_map与Python lambda的比较

0 投票
1 回答
1709 浏览
提问于 2025-04-20 06:22

我在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]);

撰写回答