Мой выборный запрос ($ sql = "select day, hour, dollar from db";) output состоит из 744 строк, по одному на каждый час 31-дневного месяца. Я присоединяюсь их, и это, как это (запятые для удобства чтения):Результаты запроса группы php ПОСЛЕ запроса
day 1, hour 1, dollars 300
day 1, hour 2, dollars 310
day 1, hour 3, dollars 299
/*etc., up to row 744, which looks like the following */
day 31, hour 24, dollars 200
Итак, 31 дней с 24 часов каждый день, все в 744 строк.
В PHP, я хочу, чтобы сгруппировать строки по день, так что я получаю
da 1:
hour 1, dollars 300
hour 2, dollars 310
hour 3, dollars 299
..
hour 24, dollars 299
31:
24, 200
Чтобы установить day
как уровень выше hour
и dollars
, я попытался сделать массив, например, так:
$arr[] = array($day =>['hour' => $hour, 'dollars' => $dollars]);
print_r($arr)
производит это:
Array
(
[1] => Array
(
[hour] => 1
[dollars] => 300
)
)
Array
(
[1] => Array
(
[hour] => 2
[dollars] => 310
)
)
Array
(
[1] => Array
(
[hour] => 3
[dollars] => 299
)
)
// etc. up to:
Array
(
[31] => Array
(
[hour] => 24
[dolars] => 200
)
)
... но то, что мне нужно что-то вроде этого:
Array
(
[1] =>
[
[hour] => 1
[dollars] => 300
],
[
[hour] => 2
[dollars] => 310
],
[
[hour] => 3
[dollars] => 299
],
/*etc., up to */
[
[hour] => 24
[dollars] => 200
]
)
Любые предложения о том, как я могу это сделать?
+1 по числу измерений, следует сделать трюк. Чтобы избежать проблем при управлении индексами, сначала создайте массивы для каждого дня, а затем добавьте эти массивы в глобальный массив. – Loufylouf
'$ arr [$ day] [] = ['hour' => $ hour, 'dollars' => $ dollars];' – fusion3k