In the provided PHP code, what improvements can be made to the conditional logic to ensure accurate status assignment based on date comparisons?

The issue with the current conditional logic is that it is not accounting for all possible scenarios when comparing dates. To ensure accurate status assignment based on date comparisons, we need to consider all edge cases, such as when the current date is within the start and end dates, or when the current date is after the end date. This can be achieved by using a series of if-else statements to cover all possible scenarios.

$currentDate = date("Y-m-d");
$start_date = "2022-01-01";
$end_date = "2022-12-31";

if ($currentDate < $start_date) {
    $status = "Upcoming";
} elseif ($currentDate >= $start_date && $currentDate <= $end_date) {
    $status = "Ongoing";
} else {
    $status = "Expired";
}

echo $status;