Fernando José 0 Denunciar post Postado Julho 14, 2020 Pessoal, Estou tentando fazer um script para dividir as matérias de estudo da semana. Eu preciso preencher o numero total de horas livre na semana com as aulas e o que sobrar na última semana. Alguém poderia me ajudar? <?php $numero_horas_semana = 15; $numero_semanas = 5; $total_horas = $numero_horas_semana * $numero_semanas; // Total de aulas por matérias // Cada aula = 1 hora $materias['matematica'] = 20; $materias['portugues'] = 10; $materias['fisica'] = 25; $materias['quimica'] = 8; $materias['sociologia'] = 5; $materias_total = 0; foreach ($materias as $key => $value) { $materias_total += $value; } $semanas_necessarias = $materias_total / $numero_horas_semana; $semanas_necessarias_arredondado = ceil($semanas_necessarias); if($semanas_necessarias_arredondado < $numero_semanas) { echo 'TEMPO INSUFICIENTE'; } else { for ($i = 1; $i <= $semanas_necessarias_arredondado; $i++) { echo '<h1>Semana '.$i.'</h1>'; echo '<p>Nome da materia: X aulas</p>'; echo '<p> </p>'; } } echo '<p>Total Horas para estudo: '.$total_horas.'</p>'; echo '<p>Total de Matérias selecionadas: '.$materias_total.'</p>'; echo '<p>Semanas necessárias para estudo: '.$semanas_necessarias_arredondado.'</p>'; Compartilhar este post Link para o post Compartilhar em outros sites
Fernando José 0 Denunciar post Postado Julho 15, 2020 Galera, Pensei em juntar tudo em um array só, com os valores intercalados. E depois dividir as materias em semana com array_chunk. Minha dúvida, tem alguma função que mescla os array, intercalando? Exemplo: $materias['matematica'] = [1,5,78,10,15,20]; $materias['portugues'] = [40,50,60,70,80]; $materias['fisica'] = [100,120,152,145,300,310,330]; $materias['quimica'] = [500,502,510]; $materias['sociologia'] = [999]; // $materias_total = [1,40,100,500,999,5,50,120]/* ....*/; Ou seja pega todo mundo que ta na posição 0, depois todos que estão na posição 1 e assim vai. Compartilhar este post Link para o post Compartilhar em outros sites
Fernando José 0 Denunciar post Postado Julho 15, 2020 Consegui. Não sei se era o jeito mais fácil. $materias['matematica'] = [1,5,78,10,15,20]; $materias['portugues'] = [40,50,60,70,80]; $materias['fisica'] = [100,120,152,145,300,310,330]; $materias['quimica'] = [500,502,510]; $materias['sociologia'] = [999]; $resultado = array_map("count", $materias); for($i = 0; $i < max($resultado); $i++) { foreach ($materias as $key => $value) { if($materias[$key][$i] > 0) $materias_total[] = $materias[$key][$i]; } } echo "<pre>"; print_r($materias_total); exit(); Compartilhar este post Link para o post Compartilhar em outros sites