..ho dato un rapido sguardo al codice..

questo non dovrebbe essere un confronto?
if($fasce_orarie[$key[$i]]=3)
quindi andrebbe scritto come
if($fasce_orarie[$key[$i]]==3)

come anche questa riga
if($key[$i]=$orari)
andrebbe
if($key[$i]==$orari)