我有一个很大的递归数组,带有混合的数字和字符串键。
哪种方法是用字符串键替换数字键的最快方法(每个数字前缀为item_
)?
例如
array('key_1' => 'val1', 2 => array( 3 => 'val3'));
到
array('key_1' => 'val1', 'item_2' => array('item_3' => 'val3'));
我希望商品的订单保持不变。
答案 0 :(得分:5)
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;
}