Dovresti creare un secondo array che abbia come chiavi l'elenco dei giorni compreso nell'intervallo.
Una volta fatto ciò puoi usare la funzione array_intersect_key
per trovare quelle comuni. Se la prenotazione fosse a cavallo tra febbraio e marzo, come si fa a generare il secondo array, nel senso come si fa a sapere se l'anno è bisestile o meno?