What are the advantages of using arrays to store Feiertage in PHP when calculating Lieferdatum?

When calculating the delivery date in PHP, it is important to consider holidays (Feiertage) as non-working days. Storing holidays in an array allows for easy retrieval and comparison when determining the delivery date. By using arrays, we can efficiently check if a given date is a holiday and adjust the delivery date accordingly.

// Define an array of holidays
$feiertage = [
    '2022-01-01', // New Year's Day
    '2022-04-15', // Good Friday
    '2022-12-25', // Christmas Day
    // Add more holidays as needed
];

// Check if a given date is a holiday
function isHoliday($date, $feiertage) {
    return in_array($date, $feiertage);
}

// Calculate delivery date considering holidays
function calculateDeliveryDate($orderDate, $feiertage) {
    $deliveryDate = date('Y-m-d', strtotime($orderDate . ' + 1 day')); // Default delivery date is next day

    // Check if default delivery date falls on a holiday
    while (isHoliday($deliveryDate, $feiertage)) {
        $deliveryDate = date('Y-m-d', strtotime($deliveryDate . ' + 1 day')); // Move delivery date to next working day
    }

    return $deliveryDate;
}

// Example of calculating delivery date
$orderDate = '2022-04-14'; // Order date on Good Friday
$deliveryDate = calculateDeliveryDate($orderDate, $feiertage);
echo "Delivery date for order placed on $orderDate is $deliveryDate";