ho risolto così, mi creo due array, li ordino e li unisco
codice:
			$ArrayOrari = array_unique($ArrayOrari);
			
			$StringOrarioDopo  = "0,";
			$StringOrarioPrima = "0,";
			
			while (list ($chiave, $orario) = each ($ArrayOrari)) {
			
				$TempOrario = ereg_replace("'", "", $orario);
				$TempOrario = ereg_replace(":", "", $TempOrario);
				
				if ((0 <= $TempOrario) && ($TempOrario <= 659)) {
					$StringOrarioDopo .= "," . $orario;
				} else {
					$StringOrarioPrima .= "," . $orario;
				}
				
			}

			$StringOrarioPrima = ereg_replace('0,,', "", $StringOrarioPrima);	
			$StringOrarioPrima = ereg_replace('0,', "", $StringOrarioPrima);		
			$StringOrarioPrima = ereg_replace(' ', "", $StringOrarioPrima);	
			
			$ArrayOrari_prima = explode(",", $StringOrarioPrima);
			sort ($ArrayOrari_prima);
			reset ($ArrayOrari_prima);
			$ArrayOrari_prima = array_unique($ArrayOrari_prima);
			
			
			$StringOrarioDopo = ereg_replace('0,,', "", $StringOrarioDopo);	
			$StringOrarioDopo = ereg_replace('0,', "", $StringOrarioDopo);
			$StringOrarioDopo = ereg_replace(' ', "", $StringOrarioDopo);			
			
			$ArrayOrari_dopo = explode(",", $StringOrarioDopo);
			sort ($ArrayOrari_dopo);
			reset ($ArrayOrari_dopo);
			$ArrayOrari_dopo = array_unique($ArrayOrari_dopo);			
			
			$ArrayOrari_nuovo = array_merge($ArrayOrari_prima, $ArrayOrari_dopo);
			
			$ArrayOrari_nuovo = array_unique($ArrayOrari_nuovo);
			reset ($ArrayOrari_nuovo);