Issue with Assigning Planned Values for Only Start and End Dates in PHP Date Range Logic

I am working on a PHP function that processes planned values for a given date range. The logic should assign specific values based on the following conditions:

Intended Logic:
Special Value (1601852832698) should only be assigned to:

The start_date of the range.
The end_date of the range.
Normal Value (1479103953946) should be assigned to all other days within the range.

If the range spans across multiple months, the logic should correctly handle boundaries:

Process only the days within the current month.
Respect the start_date and end_date across months without assigning the special value to unintended days.

The function incorrectly assigns the special value to additional days, particularly:

The last day of the previous month (if start_date falls in the current month).
The first day of the current month (if end_date falls in the next month).
This error occurs when adjusting start_date and end_date to fit the current month’s boundaries.
For example:

If start_date = 2024-12-03 and end_date = 2024-12-31:
The logic assigns the special value (1601852832698) to November 30 and December 1, which is incorrect.
Only December 3 and December 31 should receive the special value.
Code Snippet:
Here’s the relevant portion of my function:

foreach ($daysInMonth as $day) {
    $currentDate = strtotime($day);

    // Assign special value for start_date and end_date
    if ($currentDate == $startDate || $currentDate == $endDate) {
        $plannedValue = $plannedValues['first_last_day']; // 1601852832698
    } else {
        $plannedValue = $plannedValues['normal_day']; // 1479103953946
    }

    $results[$day] = $plannedValue;
}

Questions:
How can I ensure the special value (1601852832698) is assigned only to the actual start_date and end_date, without impacting other days in the range?
What’s the best way to handle multi-month ranges, ensuring only the correct days in the current month are processed?