$sql="SELECT distinct(e.id),e.title,e.start_date FROM enquete_answer_info AS ea 
LEFT JOIN enquete_question_mst AS eq ON ea.question_id=eq.id
LEFT JOIN enquete_mst AS e ON e.id=ea.enquete_id
WHERE member_id=112 and eq.deleted is NULL AND e.deleted IS NULL order by e.start_date desc";
$result=$this->EnqueteAnswer->query($sql);----------查询的结果..
Array ( [0] => Array ( [e] => Array ( [id] => 97 [title] => Vincent D90 [start_date] => 2009-04-13 ) ) [1] => Array ( [e] => Array ( [id] => 98 [title] => Vincent 18-135 [start_date] => 2009-04-13 ) ) [2] => Array ( [e] => Array ( [id] => 96 [title] => Vincent 70-200mm [start_date] => 2009-04-13 ) ) [3] => Array ( [e] => Array ( [id] => 92 [title] => 注册问卷调查测试标题 [start_date] => 2009-04-01 ) ) [4] => Array ( [e] => Array ( [id] => 88 [title] => xuhua_test [start_date] => 2009-03-02 ) ) [5] => Array ( [e] => Array ( [id] => 91 [title] => title [start_date] => 2009-03-02 ) ) [6] => Array ( [e] => Array ( [id] => 89 [title] => D3 [start_date] => 2009-03-02 ) ) [7] => Array ( [e] => Array ( [id] => 85 [title] => アンケートテスト [start_date] => 2009-03-02 ) ) [8] => Array ( [e] => Array ( [id] => 9 [title] => D60 D90用户问卷 [start_date] => 2008-10-01 ) ) [9] => Array ( [e] => Array ( [id] => 83 [title] => 镜头问卷 [start_date] => 2008-10-01 ) ) [10] => Array ( [e] => Array ( [id] => 36 [title] => D40X问卷 [start_date] => 2008-10-01 ) ) ) 现在吧年份作为键,
$result 即上面的结果
foreach($result as $key=>$value){
$time=$value["e"]["start_date"];
   $time=date("Y",strtotime($time));
if(array_key_exists($time,$array_years)){

$temp=$array_years[$time];
$temp[]=$value;
$array_years[$time]=$temp;

}else{
$array_years[$time]=$value;
}
$i++;

}如果年份相同,即$array_years里面存在有相同的键...就把合并成一个数组....
这段代码可以运行,但怎么优化优化.....