Here's a sample of data
Date  | Source | Amount
-----------------------
01A   | S1     | 12
01A   | S4     | 2
01A   | S7     | 134
02A   | S1     | 126
03A   | S4     | 10
02A   | S7     | 0
02A   | S1     | 3
02A   | S4     | 4
02A   | S7     | 5
The resulting array needs to look like:
Array
(
    [01A] => Array
        (
            [S1] => 12
            [S4] => 2
            [S7] => 134
        )
    [02A] => Array
        (
            [S1] => 126
            [S4] => 10
            [S7] => 0
        )
    [03A] => Array
        (
            [S1] => 3
            [S4] => 4
            [S7] => 5
        )
)
I've tried looking at pages such as PHP Adding multiple associative arrays to new array based on key, PHP multiple arrays to one associative array and Merge multiple associative arrays to a single array of associative arrays and playing around with code as below (not using the same data - but same theory) but it's not producing what I need. The code below just shows A and B
    $array = Array();
    $a=array( "ABC" => array("A"=>"RED","B"=>"GREEN"));
    $b=array( "ABC" => array("C"=>"BLUE","D"=>"YELLOW"));
    $array = $a + $b;
    echo '<pre>';
    print_r($array);
    echo '</pre>';

foreachloop to build the expected array. Have you tried anything?