有没有办法做这样的事情:
$test_array = array(
"first_key" => "first_value",
"second_key" => "second_value"
);
var_dump(
array_map(
function($a, $b) {
return "$a loves $b";
},
array_keys($test_array),
array_values($test_array)
)
);
但不是调用 array_keys
和 array_values
,而是直接传递 $test_array
变量?
所需的输出是:
array(2) {
[0]=>
string(27) "first_key loves first_value"
[1]=>
string(29) "second_key loves second_value"
}
原文由 José Tomás Tocino 发布,翻译遵循 CC BY-SA 4.0 许可协议
不适用于 array_map,因为它不处理键。
array_walk 可以:
然而,它确实改变了作为参数给出的数组,所以它不完全是函数式编程(因为你有这样的问题标签)。此外,正如评论中所指出的,这只会更改数组的值,因此键不会是您在问题中指定的键。
如果你愿意,你可以编写一个函数来修复你自己上面的点,如下所示: