How can PHP be used to effectively handle time overlaps in a scheduling system like the one described in the forum thread?

To effectively handle time overlaps in a scheduling system, you can use PHP to compare the start and end times of each scheduled event to check for any conflicts. If there is an overlap, you can prevent the new event from being added to the schedule.

// Sample code to check for time overlaps in a scheduling system

function checkForTimeOverlap($newStartTime, $newEndTime, $existingEvents) {
    foreach ($existingEvents as $event) {
        if (($newStartTime >= $event['start_time'] && $newStartTime < $event['end_time']) || 
            ($newEndTime > $event['start_time'] && $newEndTime <= $event['end_time'])) {
            return true; // Time overlap detected
        }
    }
    
    return false; // No time overlap
}

// Example usage
$newEventStartTime = strtotime('2023-01-15 10:00:00');
$newEventEndTime = strtotime('2023-01-15 12:00:00');
$existingEvents = [
    ['start_time' => strtotime('2023-01-15 09:00:00'), 'end_time' => strtotime('2023-01-15 11:00:00')],
    ['start_time' => strtotime('2023-01-15 13:00:00'), 'end_time' => strtotime('2023-01-15 15:00:00')]
];

if (checkForTimeOverlap($newEventStartTime, $newEventEndTime, $existingEvents)) {
    echo 'Time overlap detected. Please choose a different time slot.';
} else {
    echo 'No time overlap. Event can be scheduled.';
}