PHP查找到给定日期的壁橱日期,该日期不';t匹配数组中的任何日期
如果用户选择的日期不可用,我想向他们显示最接近的可用性 不可用日期存储在如下数组中:PHP查找到给定日期的壁橱日期,该日期不';t匹配数组中的任何日期,php,arrays,date,Php,Arrays,Date,如果用户选择的日期不可用,我想向他们显示最接近的可用性 不可用日期存储在如下数组中: Array([0]->2020-07-06, [1]->2020-07-07, [2]->2020-07-08, [3]->2020-07-11) 正如您所看到的,mekes更难理解的是,在[2]和[3]之间有两个可用日期 假设用户选择的2020-07-06比我想显示的2020-07-09 目前,我在数组上执行一个简单的asort(),并使用end()显示最后一天,但这显然不好,因为我
Array([0]->2020-07-06, [1]->2020-07-07, [2]->2020-07-08, [3]->2020-07-11)
正如您所看到的,mekes更难理解的是,在[2]和[3]之间有两个可用日期
假设用户选择的2020-07-06
比我想显示的2020-07-09
目前,我在数组上执行一个简单的asort()
,并使用end()
显示最后一天,但这显然不好,因为我跳过了两天
如何显示最近的可用日期?实现这一点的一种方法是检查请求的日期是否在数组中,如果是,则按天递增,直到找到不在数组中的日期:
$unavailable = array('2020-07-06', '2020-07-07', '2020-07-08', '2020-07-11');
$requested = new DateTime('2020-07-06');
while (in_array($requested->format('Y-m-d'), $unavailable)) {
$requested->modify('+1 day');
}
echo $requested->format('Y-m-d');
输出:
2020-07-09
@LaciK别担心-我很高兴能帮上忙。