Я часами пытался понять это, и это меня побило. Почему $ currentDay возвращает число, представляющее день недели? Можно ли не присвоить дате переменную?
<?php
date_default_timezone_set("America/New_York");
$currentDay = date('l'); // dayname
$currentTime = date("H");
$preOpen = "We're Open";
$preClosed = "We're Closed";
if ($currentDay = "Thursday" && $currentTime >= "22") {
echo $preClosed."<br>";
} elseif ($currentDay = "Friday") {
echo $preClosed."<br>";
} elseif ($currentDay = "Saturday" && $currentTime >= "22") {
echo $preClosed."<br>";
} else {echo $preOpen."<br>";
}
echo date('l')."<br>";
echo $currentDay
?>