给定这个数组:
$list = array(
'one' => array(
'A' => 1,
'B' => 100,
'C' => 1234,
),
'two' => array(
'A' => 1,
'B' => 100,
'C' => 1234,
'three' => array(
'A' => 1,
'B' => 100,
'C' => 1234,
),
'four' => array(
'A' => 1,
'B' => 100,
'C' => 1234,
),
),
'five' => array(
'A' => 1,
'B' => 100,
'C' => 1234,
),
);
我需要一个函数(replaceKey($array, $oldKey, $newKey)
) 将任何键“一”、“二”、“三”、“四”或“五”替换为new key与该键的深度无关。我需要该函数返回一个新数组,其中相同的订单 and 结构.
我已经尝试过使用这个问题的答案,但我找不到方法保持秩序并进入第二层在数组中:
使用 PHP 在多维数组上使用 array_map 更改键
更改数组键而不更改顺序
PHP 重命名多维数组中的数组键
这是我的尝试,但不起作用:
function replaceKey($array, $newKey, $oldKey){
foreach ($array as $key => $value){
if (is_array($value))
$array[$key] = replaceKey($value,$newKey,$oldKey);
else {
$array[$oldKey] = $array[$newKey];
}
}
return $array;
}
Regards