format('Y'); $federal_holidays = array_map(function($date_string) use($year){ $date = new DateTime($date_string . ' ' . $year); if ($date->format('l') === 'Saturday') $date->modify('-1 day'); if ($date->format('l') === 'Sunday') $date->modify('+1 day'); return $date; }, [ "january 1", //new year's day "third monday of january", //martin luther king, jr. day "third monday of february", //george washington’s birthday "last monday of may", //memorial day "july 4", //independence day "first monday of september", //labor day "second monday of october", //columbus day "november 11", //veterans day "fourth thursday of november", //thanksgiving day "december 25", //christmas day ]); return array_filter($federal_holidays, function($federal_holiday) use($date){ return $federal_holiday == $date; }); }