我有一个数组,例如 ['id' => 1, 'name' => 'Fred']
。
我想在此数组上调用 array_map
并在函数内使用键。但是,当我返回时,我的 key 将变为 int。
简单的例子:
$arr = array('id' => 1, 'name' => 'Fred');
$result = array_map(
function ($value, $key) {
return $value;
},
$arr,
array_keys($arr)
);
var_dump($result);
基本上,在这种情况下,我希望 $result
与 $arr
相同,但它将我的字符串键转换为整数。
最佳答案
对于“我想调用 array_map”和“$result 与 $arr 相同”的要求,请尝试:
$result = array_combine(
array_keys($arr),
array_map(function($v){ return $v; }, $arr)
);
给予:
[
"id" => 1
"name" => "Fred"
]
但是嘿,如果你想要的只是相同的数组,那么没有什么比这个代码更好的了:
$result = $arr;
关于php - 如何将 array_map 与键和值一起使用,但返回具有相同索引(不是 int)的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25513361/