php - 如何更改此数组的数组键?

标签 php arrays

<分区>

Possible Duplicate:
In PHP, how do you change the key of an array element?

这是数组

Array
(
    [0] => Array
        (
            [id] => 1
            [due_date] => 2011-09-23
            [due_amount] => 10600.00
        )

    [1] => Array
        (
            [id] => 2
            [due_date] => 2011-10-23
            [due_amount] => 10600.00
        )

    [2] => Array
        (
            [id] => 3
            [due_date] => 2011-11-23
            [due_amount] => 10600.00
        )
)

如何将数组中的id改为u_id

问候

最佳答案

array_walk_recursive($array, 'changeIDkey');

function changeIDkey($item, &$key)
{
    if ($key == 'id') $key = 'u_id';
}

PHP 手册:array_walk_recursive

编辑

由于@salathe 在下面的评论中给出的原因,这将不起作用。研究替代方案。

实际答案

function changeIDkey(&$value,$key)
{
    if ($value === "id") $value = "u_id";
}

$new = array();
foreach ($array as $key => $value)
{
    $keys = array_keys($value);
    array_walk($keys,"changeIDkey");
    $new[] = array_combine($keys,array_values($value));
}

var_dump($new); //verify

$array 是您的输入数组。请注意,这仅适用于您当前的数组结构(二维,仅在第二维上更改键)。

循环遍历内部数组,将键中的“id”更改为“u_id”,然后将新键与旧值重新组合。

关于php - 如何更改此数组的数组键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7181060/

相关文章:

php - 在带有 % 通配符的 PHP 准备语句中实现 LIKE

php - 如何在另一个 php.ini 文件中包含一个 php.ini 文件?

php - 计算 : better to truncate before insertion or let MySQL truncate?

c++ - 数组的 typedef 数组的 typedef

php - 删除 PHP 中使用 JavaScript 添加的空间

PHP 日期到字符串的转换为每个结果增加一分钟

Javascript将多维数组转换为唯一的项目数组

java - Object[] 是如何克隆的

c# - 强制对数组进行垃圾回收,C#

java - 如何使用二分查找处理数组中的重复数字和两位或更多位数字?