echo '<tr><th>Origin</th><th>Destination</th><th>Date</th><th>Days</th><th>Return at</th><th>Price</th><th>Average</th><th>Link</th></tr>'; $month = ''; foreach ($origins as $origin) { foreach ($destinations as $destination) { foreach ($weekends as $weekend) { foreach (array('Friday', 'Saturday') as $day) { //Get IATA codes $originIata = getCityCode($origin); $destIata = getCityCode($destination['destination_name']); if ($originIata && $destIata) { //Define average rate for dest/month $curMonth = date('Y-m', strtotime($weekend['Friday'])); if ($month != $curMonth) { $month = $curMonth; $calendar = getCalendar($originIata, $destIata, $curMonth); $average = round(getAverageFromCalendar($calendar)); } $cheap = getCheap($originIata, $destIata, $weekend[$day], $weekend['Sunday']); if (array_key_exists('success', $cheap) && true == $cheap['success'] && array_key_exists('data', $cheap) && array_key_exists($destIata, $cheap['data'])) { //loop through variants foreach ($cheap['data'][$destIata] as $variant) { $departure_at = date('Y-m-d H:i', strtotime($variant['departure_at'])); $return_at = date('Y-m-d H:i', strtotime($variant['return_at'])); $expires_at = $variant['expires_at']; $airline = $variant['airline']; $flight_number = $variant['flight_number']; $price = $variant['price']; $dest = $destination['destination_name']; //Count trip duration $day1 = new DateTime($weekend[$day]); $day2 = new DateTime($return_at);
function getAverage($origin, $destination, $departDate) { return getAverageFromCalendar(getCalendar($origin, $destination, $departDate)); }
$dates = array(); for ($i = 0; $i < 6; $i++) { $dates[] = date('Y-m', strtotime("+{$i} month", time())); } //Table header echo '<table>'; echo '<tr><th>Origin</th><th>Destination</th><th>Date</th><th>Days</th><th>Price</th><th>Average</th><th>Transfers</th><th>Return at</th><th>Link</th></tr>'; foreach ($dates as $date) { foreach ($destinations as $destination) { foreach ($origins as $origin) { //echo $destination['destination_name'].' '.$destination['destination_priority'].'</br></br>'; $originIata = getCityCode($origin); $destIata = getCityCode($destination['destination_name']); if ($originIata && $destIata) { $calendar = getCalendar($originIata, $destIata, $date); $average = getAverageFromCalendar($calendar); if (array_key_exists('success', $calendar) && $calendar['success'] == 1 && array_key_exists('data', $calendar)) { $color = false; foreach ($calendar['data'] as $day => $data) { if ($data['price'] / $average < $ratio) { //Paint rows in 2 colors if ($color) { echo '<tr class="colored">'; } else { echo '<tr>'; } $color = !$color; //Highlight Fridays and Saturdays $weekDay = date('l', strtotime($day)); if ($weekDay == 'Friday' | $weekDay == 'Saturday') { $tdWeekDay = '<td class="highlighted">';