Таким образом, оперируя моей 3D-матрицей теория: (см. Мой комментарий в вопросе OP)

<?php
$array = array(66998 => array(array('ID' => 0,
'Date' => '2011-05-11',
'Quantity' => 50),
array('ID' => 1,
'Date' => '2011-05-15',
'Quantity' => 50),
array('ID' => 2,
'Date' => '2011-05-15',
'Quantity' => 50)
),
81158 => array(array('ID' => 0,
'Date' => '2011-05-11',
'Quantity' => 25),
array('ID' => 1,
'Date' => '2011-05-12',
'Quantity' => 60),
array('ID' => 2,
'Date' => '2011-05-16',
'Quantity' => 60),
array('ID' => 3,
'Date' => '2011-05-18',
'Quantity' => 60)
));
$newArray = array();
foreach($array as $subKey => $subArray) {
foreach($subArray as $idArray) {
$week = date("W", strtotime($idArray['Date']));
$newArray["{$subKey}"]["{$week}"] = $idArray['Quantity'] + $newArray["{$subKey}"]["{$week}"];
}
}
var_dump($newArray);
?>
Что дает желаемые результаты (2D для простоты):
array(2) {
[66998]=>
array(1) {
[19]=>
int(150)
}
[81158]=>
array(2) {
[19]=>
int(85)
[20]=>
int(120)
}
}
Удачного кодирования!