php - 递归数组键替换

标签 php recursion

我有一个相当大的递归数组,其中混合了数字和字符串键。

将数字键替换为字符串键(在每个数字前加上 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/

相关文章:

python - 在变量内部完成递归

php - 使用 PHP 连接到 SQL Server 数据库

php - MYSQLi返回0,但是查询在数据库上执行

混淆 HTML 的 PHP 代码?

php - 在 PHP 中解析日期字符串

javascript - 陷入递归除法迷宫

php - 单击按钮后仅刷新数据表

c++ - 使用位掩码 c++ 显示集合的所有子集的递归函数

C++ vector 值之和(递归)

algorithm - 在递归方法中绘制调用堆栈