PHP:我可以在 array_map 函数中获取索引吗?

2022-01-24 00:00:00 dictionary arrays loops iteration php

我在 php 中使用这样的地图:

I'm using a map in php like so:

function func($v) {
    return $v * 2;
}

$values = array(4, 6, 3);
$mapped = array_map(func, $values);
var_dump($mapped);

是否可以在函数中获取值的索引?

Is it possible to get the index of the value in the function?

另外 - 如果我正在编写需要索引的代码,我应该使用 for 循环而不是映射吗?

Also - if I'm writing code that needs the index, should I be using a for loop instead of a map?

推荐答案

当然可以,在 array_keys 的帮助下():

Sure you can, with the help of array_keys():

function func($v, $k)
{
    // key is now $k
    return $v * 2;
}

$values = array(4, 6, 3);
$mapped = array_map('func', $values, array_keys($values));
var_dump($mapped);

相关文章