Ir para conteúdo
Fórum Script Brasil

ksmachado

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que ksmachado postou

  1. Prezados! eu tenho a seguinte array: $eventos = array( array('nome' => 'evento 1' , 'frequencia' => 1, 'tempo_de_duracao_total' => 2, 'tempo_de_duracao_unitaria' => 2), array('nome' => 'evento 2' , 'frequencia' => 1, 'tempo_de_duracao_total' => 1, 'tempo_de_duracao_unitaria' => 1), array('nome' => 'evento 3' , 'frequencia' => 2, 'tempo_de_duracao_total' => 4, 'tempo_de_duracao_unitaria' => 2), array('nome' => 'evento 4' , 'frequencia' => 3, 'tempo_de_duracao_total' => 6, 'tempo_de_duracao_unitaria' => 2), array('nome' => 'evento 5' , 'frequencia' => 1, 'tempo_de_duracao_total' => 2, 'tempo_de_duracao_unitaria' => 2), ); Essa array contem eventos que irão ocorrer dentro de um período. Cada evento tem uma frequência, ou seja, quantas vezes esse evento irá se repetir dentro desse período, por exemplo: o evento 4 irá se repetir quatro vezes. Cada evento também tem uma duração em horas, por exemplo o evento 4 tem duração total de seis horas, mas como ele irá se repetir três vezes, cada ocorrência do evento 4 terá duração de duas horas (esse tempo está registrado na chave 'tempo_de_duracao_unitário'). O que eu preciso é de uma lógica que faça uma distribuição das ocorrências de cada evento de maneira balanceada. Ou seja, eu gostaria de uma lógica que retornasse um array mais ou menos assim: $eventosDistribuidos = array( 'evento 1', 'evento 4', 'evento 3', 'evento 2', 'evento 4', 'evento 3', 'evento 5', 'evento 4', ); Observe que ouve uma distribuição de forma que cada ocorrência do mesmo evento ficasse espaçada de uma forma balanceada. Por exemplo, cada ocorrência do 'evento 4', que se repetiu 3 vezes, ficou igualmente espaçado entre dois outros eventos, o mesmo ocorreu para o evento 3, que se repetiu 2 vezes, Bem, era isso, desde já agradeço!
×
×
  • Criar Novo...