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

Gih*_*ita 3 php arrays

可能重复:
在PHP中,如何更改数组元素的键?

这个数组

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
        )
)
Run Code Online (Sandbox Code Playgroud)

如何在这个数组中将id更改为u_id

问候

Eva*_*ski 6

array_walk_recursive($array, 'changeIDkey');

function changeIDkey($item, &$key)
{
    if ($key == 'id') $key = 'u_id';
}
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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

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