fork download
  1. <?php
  2.  
  3. // horários que são exibidos para os clientes
  4. $hours = array('08:00','08:30','09:00','09:30','10:00','10:30','11:00','11:30','12:00','12:30','13:00','13:30','14:00');
  5.  
  6. // horários que os clientes marcaram
  7. $schedule = array('08:00','08:00','09:00','09:00','09:00','10:00','10:00','10:00','10:00','11:00','11:00','11:00','11:00','11:00' );
  8.  
  9. // ao chegar nesse valor de consultas agendada por horário é retirado o horário do array hours
  10. $chooseNumber = 3;
  11.  
  12. $count = array_count_values( $schedule );
  13. $array_com_horarios_livres = array();
  14.  
  15. foreach($hours as $hour){
  16. # SE O HORÁRIO EM $hours ESTIVERM EM $horasAgendadas E A QUANTIDADE FOR MAIOR OU IGUAL AO LIMITE CONTINUE O LOOP SEM INSERIR
  17. if(isset($count[$hour]) && $count[$hour] >= $chooseNumber)
  18. continue;
  19. $array_com_horarios_livres[] = $hour; # INSERE NO NOVO ARRAY COM OS HORÁRIOS LIVRES
  20. }
  21.  
  22. print_r($array_com_horarios_livres);
Success #stdin #stdout 0s 82560KB
stdin
Standard input is empty
stdout
Array
(
    [0] => 08:00
    [1] => 08:30
    [2] => 09:30
    [3] => 10:30
    [4] => 11:30
    [5] => 12:00
    [6] => 12:30
    [7] => 13:00
    [8] => 13:30
    [9] => 14:00
)