开发者

How to change array key of this array? [duplicate]

This question already has answers here: Closed 10 years ago.

Possible Duplicate:

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

This the array

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
        )
)

how to change id to u_id in this array?

Reg开发者_如何学Pythonards


array_walk_recursive($array, 'changeIDkey');

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

PHP Manual: array_walk_recursive

EDIT

This will not work for the reason @salathe gave in the Comments below. Working on alternative.

ACTUAL ANSWER

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

Where $array is your input array. Note that this will only work with your current array structure (two-dimensions, changes keys on only second dimension).

The loop iterates through the inner arrays changing "id" to "u_id" in the keys and then recombines the new keys with the old values.


foreach( $array as &$element ) {
    $element['u_id'] = $element['id'];
    unset( $element['id'] );
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜