3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = '[ { "StatsHistoryTime": "2019-02-06 12:00:00", "name": "shelly", "hashrate": 2147483647 }, { "StatsHistoryTime": "2019-02-06 12:00:00", "name": "debra", "hashrate": 1240996571 }, { "StatsHistoryTime": "2019-02-06 12:00:00", "name": "sally", "hashrate": 2147483647 }, { "StatsHistoryTime": "2019-02-06 12:00:00", "name": "bill", "hashrate": 2147483647 }, { "StatsHistoryTime": "2019-02-06 12:30:00", "name": "shelly", "hashrate": 2147483647 }, { "StatsHistoryTime": "2019-02-06 12:30:00", "name": "debra", "hashrate": 1460613388 }, { "StatsHistoryTime": "2019-02-06 12:30:00", "name": "sally", "hashrate": 2147483647 }, { "StatsHistoryTime": "2019-02-06 12:30:00", "name": "bill", "hashrate": 2147483647 } ]'; $rows = json_decode($json, true); $chartdata = array(); foreach ($rows as $row) { $period = $row['StatsHistoryTime']; if (($k = array_search($period, array_column($chartdata, 'period'))) !== false) { $chartdata[$k][$row['name']] = $row['hashrate']; } else { $chartdata[] = array('period' => $period, $row['name'] => $row['hashrate']); } } echo json_encode($chartdata);
Output for 7.1.25 - 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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
[{"period":"2019-02-06 12:00:00","shelly":2147483647,"debra":1240996571,"sally":2147483647,"bill":2147483647},{"period":"2019-02-06 12:30:00","shelly":2147483647,"debra":1460613388,"sally":2147483647,"bill":2147483647}]

preferences:
139.31 ms | 408 KiB | 5 Q