将数组中的数组移动到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