du kan gruppera redan i databasen.eller sortera efter sektion och sedan iterera igenom och mata ut rätt separationskod när sektionen ändras. en temporär array är också en lösning. Med tanke på din exempelkod kanske detta kan peka dig på en möjlig direktino (även om den temporära arrayen naturligtvis inte är en elegant lösning men om data inte är så mycket spelar det ingen roll)
<?
$result = array();
$result[] = array('section' => 'php','note' => 'bla');
$result[] = array('section' => 'php','note' => 'bla');
$result[] = array('section' => 'perl','note' => 'bla');
$result[] = array('section' => 'java','note' => 'bla');
$grouped = array();
for($i=0;$i<count($result);$i++) {
$grouped[$result[$i]['section']][] = $result[$i]['note'];
}
print_r($grouped);
?>