bueno sino entendi mal creo que asi estaria listo voy a ver que me dicen jaja 
  Código PHP:
    <?php
function edad($fecha,$condic=""){
    $fec=explode("-",$fecha);    
    if($condic==true){
        $anoSig=date("Y")+1;        
        if(date("L",mktime(0,0,0,0,0,$anoSig))){
            if($fec[1]>2)
                $diaAno=366;
            else
                $diaAno=365;
        }
        else
            $diaAno=365;
        $diaAc=date("z");
        $diadado=date("z", mktime(0, 0, 0, $fec[1], $fec[0],$fec[2]));
        $cant=$diadado-$diaAc;    
        if($cant<1){            
            $cant=$cant+$diaAno;
        }    
        return $cant;                        
    }
    else{
        $dia=date("d");
        $mes=date("m");
        $ano=date("Y");            
        if($fec[1]<$mes){
            $edad=$ano-$fec[2];        
        }
        elseif($fec[1]==$mes){
            #if($fec[0]<$dia){asi lo avia puesto pero es al revez ya que si el dia del cumpl no ha llegado no tiene añps jaja debio ser asi 
                          if($fec[0]>$dia){
                $edad=$ano-1-$fec[2];
            }
            else{
                $edad=$ano-$fec[2];        
            }        
        }
        else{
            $edad=$ano-1-$fec[2];
        }
        return $edad;
    }        
}
?>