<?php
$arrayA = array(
0 =>
array(
'id' => 4701,
'start' => '2018-04-15 17:00:00',
'start2' => '2018-04-15 19:00:00',
'expiry' => '2018-04-16 01:00:00',
'expiry2' => '2018-05-16 03:00:00',
'threat' => 'Rain',
'level' => 2,
'last_updated' => '2018-05-09 14:11:54',
'created' => '2018-04-12 15:05:50',
'county' => 'Luzerne',
'state' => 'Pennsylvania',
'image' => '15238041824facec0b183878da58e007b4b6.png',
),
1 =>
array(
'id' => 4947,
'start' => '2018-04-26 11:11:00',
'start2' => '2018-04-26 15:10:00',
'expiry' => '2018-04-30 23:00:00',
'expiry2' => '2018-05-30 08:00:00',
'threat' => 'Thunderstorm',
'level' => 3,
'last_updated' => '2018-05-09 12:33:25',
'created' => '2018-04-26 15:11:45',
'county' => 'Yellowstone',
'state' => 'Montana',
'image' => '1524755505c1beae47ebbb285beaa6a1c672.png',
),
2 =>
array(
'id' => 4947,
'start' => '2018-04-26 11:11:00',
'start2' => '2018-04-26 15:10:00',
'expiry' => '2018-04-30 23:00:00',
'expiry2' => '2018-05-30 08:00:00',
'threat' => 'Thunderstorm',
'level' => 3,
'last_updated' => '2018-05-09 12:33:25',
'created' => '2018-04-26 15:11:45',
'county' => 'Luzerne',
'state' => 'Pennsylvania',
'image' => '1524755505c1beae47ebbb285beaa6a1c672.png',
),
);
#print_r($arrayA);
#echo "\n\r";
#echo "Looking to turn the above array into the array below:\n\r";
#print_r($arrayB);
$result = [];
foreach ($arrayA as $row) {
$id = $row['id'];
if (!isset($result[$id])) {
$result[$id] = $row;
$result[$id]['affected_locations'] = [];
}
$result[$id]['affected_locations'] []= $row;
}
$arrayB = array_values($result);
print_r($arrayB);
- Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
- Array
(
[0] => Array
(
[id] => 4701
[start] => 2018-04-15 17:00:00
[start2] => 2018-04-15 19:00:00
[expiry] => 2018-04-16 01:00:00
[expiry2] => 2018-05-16 03:00:00
[threat] => Rain
[level] => 2
[last_updated] => 2018-05-09 14:11:54
[created] => 2018-04-12 15:05:50
[county] => Luzerne
[state] => Pennsylvania
[image] => 15238041824facec0b183878da58e007b4b6.png
[affected_locations] => Array
(
[0] => Array
(
[id] => 4701
[start] => 2018-04-15 17:00:00
[start2] => 2018-04-15 19:00:00
[expiry] => 2018-04-16 01:00:00
[expiry2] => 2018-05-16 03:00:00
[threat] => Rain
[level] => 2
[last_updated] => 2018-05-09 14:11:54
[created] => 2018-04-12 15:05:50
[county] => Luzerne
[state] => Pennsylvania
[image] => 15238041824facec0b183878da58e007b4b6.png
)
)
)
[1] => Array
(
[id] => 4947
[start] => 2018-04-26 11:11:00
[start2] => 2018-04-26 15:10:00
[expiry] => 2018-04-30 23:00:00
[expiry2] => 2018-05-30 08:00:00
[threat] => Thunderstorm
[level] => 3
[last_updated] => 2018-05-09 12:33:25
[created] => 2018-04-26 15:11:45
[county] => Yellowstone
[state] => Montana
[image] => 1524755505c1beae47ebbb285beaa6a1c672.png
[affected_locations] => Array
(
[0] => Array
(
[id] => 4947
[start] => 2018-04-26 11:11:00
[start2] => 2018-04-26 15:10:00
[expiry] => 2018-04-30 23:00:00
[expiry2] => 2018-05-30 08:00:00
[threat] => Thunderstorm
[level] => 3
[last_updated] => 2018-05-09 12:33:25
[created] => 2018-04-26 15:11:45
[county] => Yellowstone
[state] => Montana
[image] => 1524755505c1beae47ebbb285beaa6a1c672.png
)
[1] => Array
(
[id] => 4947
[start] => 2018-04-26 11:11:00
[start2] => 2018-04-26 15:10:00
[expiry] => 2018-04-30 23:00:00
[expiry2] => 2018-05-30 08:00:00
[threat] => Thunderstorm
[level] => 3
[last_updated] => 2018-05-09 12:33:25
[created] => 2018-04-26 15:11:45
[county] => Luzerne
[state] => Pennsylvania
[image] => 1524755505c1beae47ebbb285beaa6a1c672.png
)
)
)
)
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Array
(
[0] => Array
(
[id] => 4701
[start] => 2018-04-15 17:00:00
[start2] => 2018-04-15 19:00:00
[expiry] => 2018-04-16 01:00:00
[expiry2] => 2018-05-16 03:00:00
[threat] => Rain
[level] => 2
[last_updated] => 2018-05-09 14:11:54
[created] => 2018-04-12 15:05:50
[county] => Luzerne
[state] => Pennsylvania
[image] => 15238041824facec0b183878da58e007b4b6.png
[affected_locations] => Array
(
[0] => Array
(
[id] => 4701
[start] => 2018-04-15 17:00:00
[start2] => 2018-04-15 19:00:00
[expiry] => 2018-04-16 01:00:00
[expiry2] => 2018-05-16 03:00:00
[threat] => Rain
[level] => 2
[last_updated] => 2018-05-09 14:11:54
[created] => 2018-04-12 15:05:50
[county] => Luzerne
[state] => Pennsylvania
[image] => 15238041824facec0b183878da58e007b4b6.png
)
)
)
[1] => Array
(
[id] => 4947
[start] => 2018-04-26 11:11:00
[start2] => 2018-04-26 15:10:00
[expiry] => 2018-04-30 23:00:00
[expiry2] => 2018-05-30 08:00:00
[threat] => Thunderstorm
[level] => 3
[last_updated] => 2018-05-09 12:33:25
[created] => 2018-04-26 15:11:45
[county] => Yellowstone
[state] => Montana
[image] => 1524755505c1beae47ebbb285beaa6a1c672.png
[affected_locations] => Array
(
[0] => Array
(
[id] => 4947
[start] => 2018-04-26 11:11:00
[start2] => 2018-04-26 15:10:00
[expiry] => 2018-04-30 23:00:00
[expiry2] => 2018-05-30 08:00:00
[threat] => Thunderstorm
[level] => 3
[last_updated] => 2018-05-09 12:33:25
[created] => 2018-04-26 15:11:45
[county] => Yellowstone
[state] => Montana
[image] => 1524755505c1beae47ebbb285beaa6a1c672.png
)
[1] => Array
(
[id] => 4947
[start] => 2018-04-26 11:11:00
[start2] => 2018-04-26 15:10:00
[expiry] => 2018-04-30 23:00:00
[expiry2] => 2018-05-30 08:00:00
[threat] => Thunderstorm
[level] => 3
[last_updated] => 2018-05-09 12:33:25
[created] => 2018-04-26 15:11:45
[county] => Luzerne
[state] => Pennsylvania
[image] => 1524755505c1beae47ebbb285beaa6a1c672.png
)
)
)
)
preferences:
245.37 ms | 409 KiB | 287 Q