PHP uses foreach magic transformation array of example explanation
- 2021-09-04 23:47:56
- OfStack
Requirements:
Convert the 2D array $arr to a 2D array with 'time' and 'type' as subscripts and 'data' as values;
Original array:
$arr = array(
0 => array(
'data' => 100,
'type' => 1,
'time' => '2018-01-26',
),
1 => array(
'data' => 200,
'type' => 2,
'time' => '2018-01-26',
),
2 => array(
'data' => 300,
'type' => 2,
'time' => '2018-01-27',
),
3 => array(
'data' => 400,
'type' => 3,
'time' => '2018-01-27',
),
4 => array(
'data' => 500,
'type' => 4,
'time' => '2018-01-28',
),
);
Conversion:
foreach ($arr as $key => $value) {
$change[$value['time']][$value['type']] = $value['data'];
}
Results:
array(3) {
["2018-01-26"] => array(2) {
[1] => int(100)
[2] => int(200)
}
["2018-01-27"] => array(2) {
[2] => int(300)
[3] => int(400)
}
["2018-01-28"] => array(1) {
[4] => int(500)
}
}