How can PHP be used to populate a dropdown menu with the current date and the next two working days, while excluding weekends and holidays?

To populate a dropdown menu with the current date and the next two working days, excluding weekends and holidays, you can use PHP to calculate the dates and filter out weekends and holidays. One approach is to create an array of holidays and then loop through the dates to check if they are weekends or holidays before adding them to the dropdown menu.

// Array of holidays
$holidays = array('2022-01-01', '2022-12-25');

// Get current date
$currentDate = date('Y-m-d');

// Initialize array for dropdown options
$options = array();

// Loop through next 5 days to find working days
for ($i = 0; count($options) < 3; $i++) {
    $nextDate = date('Y-m-d', strtotime("+$i day"));
    
    // Check if date is not weekend or holiday
    if (date('N', strtotime($nextDate)) < 6 && !in_array($nextDate, $holidays)) {
        $options[] = $nextDate;
    }
}

// Populate dropdown menu
echo '<select>';
foreach ($options as $option) {
    echo '<option value="' . $option . '">' . $option . '</option>';
}
echo '</select>';