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);