I have possible delivery dates for an order form
$daysOff = ['Sat', 'Sun'];
for ($days = 1; $days <= 7; $days++) {
$day = date("D", strtotime("today + $days day"));
if (!in_array($day, $daysOff)) {
$daysOnRearranged[] = date("D", strtotime("today + $days day"));
}
}
This shows the next 5 days corrects
Wed, Thurs, Fri, Mon, Tue
The last day tuesday, is showing today (4th), instead of 11th. How do I fix this?
You should display available dates like this:
$daysOff = ['Sat', 'Sun'];
for ($days = 1; $days <= 7; $days++) {
$day = date("D", strtotime("today + $days day"));
if (!in_array($day, $daysOff)) {
$daysOnRearranged[] = date("D, j M", strtotime("today + $days day"));
}
}
print_r($daysOnRearranged);
Here is what should be done. Your question is not appropriate but answered.
$daysOff = ['Sat', 'Sun'];
for ($days = 1; $days <= 7; $days++) {
$day = date("D", strtotime("today + $days day"));
$date = date('d', strtotime("today + $days day"));
if (!in_array($day, $daysOff)) {
$daysOnRearranged[$date] = date("D", strtotime("today + $days day"));
}
}
print_r($daysOnRearranged);