我有一个相当大的递归数组,其中混合了数字和字符串键。
将数字键替换为字符串键(在每个数字前加上 item_
)的最快方法是什么?
例如。
array('key_1' => 'val1', 2 => array( 3 => 'val3'));
到
array('key_1' => 'val1', 'item_2' => array('item_3' => 'val3'));
我希望项目的顺序保持不变。
最佳答案
function replace_numeric_keys(&$array) {
$result = array();
foreach ($array as $key => $value) {
if (is_int($key)) $key = "item_$key";
if (is_array($value)) $value = replace_numeric_keys($value);
$result[$key] = $value;
}
return $result;
}
关于php - 递归数组键替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3560111/