La pregunta es por que decidiste manejar de esa forma los rangos ? creo que es mas sencillo si trabajas con una estructura de este tipo:
Cita: Array (
[0] => Array ( [0] => 05:00 [1] => 09:00 )
[1] => Array ( [0] => 07:00 [1] => 07:00 )
)
No lo mencionas pero si el problema es convertirlo, como los rangos estan en pares puedes usar array_chunk para extraer una porción y reasignarla a un nuevo arreglo.
Igual como te dice Italico76 puedes crear una clase que te maneje los rangos o usar la que ya te proporciono.