В принципе у меня есть это из запроса:PHP - Поэтапно добавить значение массива
Array
(
[0] => Array
(
[period] => 2014-03
[val] => 2.19
[type] => TypeX
),
[1] => Array
(
[period] => 2014-03
[val] => 2.02
[type] => TypeY
)
)
Использование цикла Еогеасп для заполнения другого массива мы будем называть DATA, я хочу, чтобы получить следующее:
Array
(
[TypeX] => Array
(
[2014-03] => 2.19
)
[TypeY] => Array
(
[2014-03] => 2.02
)
)
Все это зациклировано, потому что мой запрос должен запускаться каждый раз в течение другого периода. Текущий пример, второй цикл будет работать для 2014-04. Моя проблема в том, когда я приезжаю на 2-й раз в моем массиве данных, я хочу это:
Array
(
[TypeX] => Array
(
[2014-03] => 2.19
[2014-04] => 1.10
)
[TypeY] => Array
(
[2014-03] => 2.02
[2014-04] => 4.74
)
)
Мой код примерно так:
$data = array();
foreach($graph_period as $period){
$rows = Queryfunction($period,$WHERE,$byType);
foreach($rows as $row){
$data[$row['type']] = array($row['period']=>$row['val']);
}
}
Поскольку ключ первого уровня (TypeX, TypeY) совпадают, valei перезаписывается. Как мне добавить массив вместо перезаписи?
Возможно, вы можете заставить SQL-сервер сделать все это для вас, не прибегая к манипулированию всеми данными на PHP. Посмотрите на агрегатные функции. – GordonM