3v4l.org

run code in 300+ PHP versions simultaneously
<?php $graphData = array( 'DataArr' => array ( array( 'data' => array ( array ( 'Month' => '10 Jan 2019', 'Cost' => 60.3, 'Name' => 'Savings' ), array ( 'Month' => '10 Feb 2019', 'Cost' => 45.3, 'Name' => 'Savings' ), array ( 'Month' => '10 Mar 2019', 'Cost' => 50.6, 'Name' => 'Savings' ) ) ), array ( 'data' => array ( array ( 'Month' => '10 Jan 2019', 'Cost' => 89.62, 'Name' => 'Discount' ), array ( 'Month' => '10 Feb 2019', 'Cost' => 20.2, 'Name' => 'Discount' ), array ( 'Month' => '10 Mar 2019', 'Cost' => 0.0, 'Name' => 'Discount' ) ) ) ) ); $result = []; foreach($graphData['DataArr'] as $value){ foreach($value['data'] as $details){ if(!isset($result['data'][$details['Month']])) $result['data'][$details['Month']] = ['Month' => $details['Month']]; $result['data'][$details['Month']][$details['Name']] = $details['Cost']; } } $result['data'] = array_values($result['data']); print_r($result);
Output for 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.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Array ( [data] => Array ( [0] => Array ( [Month] => 10 Jan 2019 [Savings] => 60.3 [Discount] => 89.62 ) [1] => Array ( [Month] => 10 Feb 2019 [Savings] => 45.3 [Discount] => 20.2 ) [2] => Array ( [Month] => 10 Mar 2019 [Savings] => 50.6 [Discount] => 0 ) ) )

preferences:
104.87 ms | 1620 KiB | 4 Q