我有一个非常大的递归数组,其中混合了数字和字符串键。
最快的方法是用字符串键替换数字键(在每个数字前面加上前缀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;
}