Strano, da me va... come si comporta di preciso?
Comunque di do un esempio di come usarla:
Codice PHP:
<?php
    
function controllo_orario($stringa_ora){
        
$time=explode(':',$stringa_ora);
        
$hour=(int)$time[0];
        
$minute=(int)$time[1];
        if(
$hour>=&& $hour<22){
            if(
$hour==7){
                if(
$minute<30){
                    
$output=false;
                }else{
                    
$output=true;
                }
            }else{
                
$output=true;
            }
        }else{
            
$output=false;
        }
        return(
$output);
    }
    echo(
'2:15 ');
    if(
controllo_orario('2:15')){echo('Si');}
    else{echo(
'No');}
    echo(
'
'
);
    echo(
'7:30 ');
    if(
controllo_orario('7:30')){echo('Si');}
    else{echo(
'No');}
?>
Prova a copiare lo script ed eseguirlo così com'è.

E poi: prima hai detto 7:30, adesso hai detto 7:00, qual'è quella giusta?

Riguardo alla domanda che ti ho fatto prima: cosa vuoi che succeda se la tua ora è 7:00 o 22:00? Deve dare true o false?