将数组中的数组移动到php中的父数组

将数组中的数组移动到php中的父数组

问题描述:

    echo "<pre>";
    print_r($data);
    echo "</pre>";

    Array
    (
        [0] => Array
            (
                [Deposit] => Array
                    (
                        [id] => 63393
                        [amount] => 200.00
                        [date] => 2014-06-17 08:40:13
                        [details] => 
                    )

                [User] => Array
                    (
                        [username] => presido490
                        [group_id] => 1
                    )

            )
    )

How to move [username] => presido490 from [User] => Array() to [Deposit] => Array() , i need output like that

Array
(
    [0] => Array
        (
            [Deposit] => Array
                (
                    [id] => 63393
                    [amount] => 200.00
                    [date] => 2014-06-17 08:40:13
                    [username] => presido490
                    [details] => 
                )

            [User] => Array
                (
                    [group_id] => 1
                )

        )
)

Do it in a simple loop

foreach($dataas $key => $element) {
    $data[$key]['Deposit']['username'] = $data[$key]['User']['username'];
    unset($data[$key]['User']['username']);
}

you could do it in an array_walk() or array_map() instead of a loop if you'd prefer

EDIT

If you absolutely have to position username between date and details (suggesting you don't really understand how to use array data in the first place).

foreach($dataas $key => $element) {
    $data[$key]['Deposit'] = array(
        'id' => $data[$key]['Deposit']['id'],
        'amount' => $data[$key]['Deposit']['amount'],
        'date' => $data[$key]['Deposit']['date'],
        'username' => $data[$key]['User']['username'],
        'details' => $data[$key]['Deposit']['details'],
    );
    unset($data[$key]['User']['username']);
}

But this should make no difference to your code at all, other than adding overhead