Из ваших исходных двух массивов просто повторно проиндексируйте month
и рекурсивно объедините их:
$result = array_merge_recursive(array_column($array1, null, 'month'),
array_column($array2, null, 'month'));
Что дает:
Array
(
[November] => Array
(
[month] => Array
(
[0] => November
[1] => November
)
[Average Purchase Price] => 2.52
[Total Purchase Gallons] => 84000
[Average Customer Price] => 2.79
[Total Customer Gallons] => 25000
)
[October] => Array
(
[month] => Array
(
[0] => October
[1] => October
)
[Average Purchase Price] => 2.615
[Total Purchase Gallons] => 63000
[Average Customer Price] => 2.905
[Total Customer Gallons] => 5500
)
)
Упрощение доступа к любому ключу от месяца:
echo $result['October']['Average Purchase Price'];
echo $result['October']['Average Customer Price'];
// etc...
или l oop:
foreach($result as $month => $values) {
echo $month;
echo $values['Average Purchase Price'];
echo $values['Average Customer Price'];
// etc...
}
Однако вы редактировали в двух запросах, которые можно объединить. Это может сработать или задать другой вопрос, и кто-то, несомненно, может дать вам один запрос:
SELECT month, AVG(price) AS 'Average Purchase Price', SUM(gallons) AS 'Total Purchase Gallons'
FROM purchase_contracts GROUP BY month
UNION ALL
SELECT month, AVG(price) AS 'Average Customer Price', SUM(gallons) AS 'Total Customer Gallons'
FROM customer_contracts GROUP BY month