我正在寻找帮助来编写脚本来查找下一个可用的时间段。
Ex:A人想要约会,每天可用的时间段是上午9点,中午12点,下午4点,下午6点,晚上9点
因此,我需要检查现有数据并比较为其他约会预订的时段,然后找到下一个可用的数据。
$apts = array(
'Person 1' => '1/1/09-9:00',
'Person 2' => '1/1/09-12:00',
'Person 3' => '1/1/09-18:00',
'Person 4' => '1/1/09-21:00'
);
所以,我需要找到针对$ apts的人员A的下一个时段,它应该在下午4点(1/1 / 09-16:00)出现。然后来到人B,他/她的下一个时段应该是'1/2 / 09-9:00',因为在1/1/09没有更多时间段,所以第二天上午9点。
从那以后? 谢谢!
答案 0 :(得分:1)
从语义上讲,数据库将是最佳解决方案。如果要使用一个列time
和person_id
的表,其中time
被编码为UNIX时间(虽然很容易适应其他格式),您可能只想运行:
SELECT time FROM table WHERE person_id = 0 AND time > 1234567890 LIMIT 1;
保持原有的PHP解决方案,一个语义上合理的解决方案可能只是运行while循环来搜索下一个可用的时间段。
$timeslot = $desired_timeslot;
while(in_array($timeslot, $apts)) {
$timeslot = get_next_timeslot($timeslot);
}
return $timeslot;
当然,您必须定义函数get_next_timeslot()
以适合您的编码/组织方法。