【发布时间】:2016-04-18 14:54:54
【问题描述】:
我需要一种方法来检查是否存在相互重叠的事件。所以我用每个事件的开始和结束时间做了一个数组。它看起来像这样:
Array
(
[0] => Array
(
[start] => 0930
[end] => 1200
)
[1] => Array
(
[start] => 1000
[end] => 1230
)
[2] => Array
(
[start] => 1300
[end] => 1530
)
)
这是我试图检查是否有重叠的事件:
if ( $orders->have_posts() ):
while ($orders->have_posts()) : $orders->the_post();
foreach($order as $o){
$start = $o['start'];
$end = $o['end'];
$attractieID = $o['attractie']->ID;
foreach($order as $key => $attractieID){
$slots[] = array('start' => $start, 'end' => $end);
if($start < $end){
//overlap
}else{
//no overlap
}
}
}
endwhile;
endif;
但这总是正确的,因为我正在检查数组中同一项目的开始和结束日期。
我需要办法比较当前数组项的起始值和前一个数组项的结束值
有人知道这是否可能吗?
非常感谢!
【问题讨论】:
-
您不能以
{开头if的正文并以endif结尾。 -
@Barmar 这只是复制我的代码的错字
-
@FrankLucas - 关于复制代码的事情是,它不会产生拼写错误。给出实际代码。
-
@Pamblam 我的循环中有很多其他内容与我为什么要复制它的问题无关?
-
复制 + 删除也不会产生错别字.... 复制 + 重写不仅会产生错别字,而且如果你们中的一个“错别字”掩盖了问题,人们将难以回答.不要仅仅为了 SO 重写你的代码 :)