Если сильно не заморачиваться, то можно перебором
$array = <исходный массив>;
foreach($array as $key => $val)
{
$array[$val['year']] = $val;
unset($array[$key]);
}
UPD: если в основном массиве есть массивы с одинаковыми годами и их нужно сгруппировать, то так:
$array = <исходный массив>;
foreach($array as $key => $val)
{
$array[$val['year']][] = $val;
unset($array[$key]);
}
UPD2: результат лучше сохранять в новый массив, иначе потеряем что-нибудь
$array = <исходный массив>;
$result = array();
foreach($array as $key => $val)
{
$result[$val['year']][] = $val;
}