3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data_inicio = new DateTime('2014-10-01'); $data_final = new DateTime('2014-10-20'); $diferenca_data = $data_final->diff($data_inicio)->format('%d'); $possui_dias_semana = [ 'monday', 'sunday' ]; $dias_semana = [ 'monday' => 'Mon', 'tuesday' => 'Tue', 'wednesday' => 'Wed', 'thursday' => 'Thu', 'friday' => 'Fri', 'saturday' => 'Sat', 'sunday' => 'Sun' ]; $datas_da_semana = []; for($i = 1; $i <= $diferenca_data; $i++) { $data_modificada = $data_inicio->modify('+1 day'); $data = $data_modificada->format('Y-m-d'); $dia_semana = date('D', strtotime($data)); foreach($possui_dias_semana as $dia) { if( strtolower($dias_semana[$dia]) == strtolower($dia_semana)) { $datas_da_semana[] = [ 'date' => $data, 'day' => $dias_semana[$dia] ]; } } } var_dump($datas_da_semana);

preferences:
57.38 ms | 402 KiB | 5 Q