<?php
$array = [
['amount' => 13.31000000, 'i' => 1, 'created_at' => '2022-10-10 23:21:47',],
['amount' => 19.00000000, 'i' => 2, 'created_at' => '2022-10-10 23:21:38',],
['amount' => 17.32000000, 'i' => 2, 'created_at' => '2022-10-09 23:21:47',],
['amount' => 19.15000000, 'i' => 2, 'created_at' => '2022-10-08 23:21:47',],
['amount' => 14.68000000, 'i' => 2, 'created_at' => '2022-10-07 23:21:47',],
['amount' => 18.31000000, 'i' => 2, 'created_at' => '2022-10-06 23:21:47',],
['amount' => 19.48000000, 'i' => 2, 'created_at' => '2022-10-05 23:21:47',],
['amount' => 11.20000000, 'i' => 1, 'created_at' => '2022-10-04 23:21:47',],
['amount' => 12.91000000, 'i' => 2, 'created_at' => '2022-10-03 23:21:47',],
['amount' => 11.55000000, 'i' => 2, 'created_at' => '2022-10-02 23:21:47',],
['amount' => 13.64000000, 'i' => 1, 'created_at' => '2022-10-09 23:21:38',],
['amount' => 18.44000000, 'i' => 1, 'created_at' => '2022-10-08 23:21:38',],
['amount' => 11.56000000, 'i' => 2, 'created_at' => '2022-10-07 23:21:38',],
['amount' => 12.13000000, 'i' => 1, 'created_at' => '2022-10-06 23:21:38',],
['amount' => 13.39000000, 'i' => 1, 'created_at' => '2022-10-05 23:21:38',],
['amount' => 11.36000000, 'i' => 2, 'created_at' => '2022-10-04 23:21:38',],
['amount' => 11.82000000, 'i' => 1, 'created_at' => '2022-10-03 23:21:38',],
['amount' => 14.03000000, 'i' => 1, 'created_at' => '2022-10-02 23:21:38',],
];
const LOOKUP = [1 => 'increase', 2 => 'decrease'];
$defaults = array_fill_keys(LOOKUP, 0);
$result = [];
foreach ($array as $row) {
$date = substr($row['created_at'], 0, 10);
$result[$date] ??= $defaults;
$result[$date][LOOKUP[$row['i']]] += $row['amount'];
}
print_r($result);
preferences:
23.12 ms | 406 KiB | 5 Q