【发布时间】:2013-09-02 08:27:10
【问题描述】:
我有下面的数组
Array
(
[0] => Array
(
[from_time] => 15:00
[to_time] => 17:15
)
[1] => Array
(
[from_time] => 10:00
[to_time] => 12:15
)
[2] => Array
(
[from_time] => 09:00
[to_time] => 11:15
)
[3] => Array
(
[from_time] => 09:00
[to_time] => 11:15
)
[4] => Array
(
[from_time] => 14:00
[to_time] => 16:15
)
[5] => Array
(
[from_time] => 15:00
[to_time] => 17:15
)
)
我想在这个数组中获得公共时间。
如果我在这个数组中找到公共时间,我的预期结果应该是
Array
(
[0] => Array
(
[from_time] => 10:00
[to_time] => 11:15
)
[1] => Array
(
[from_time] => 15:00
[to_time] => 16:15
)
)
我尝试了以下代码,但没有得到准确的结果。
foreach ($booking_time as $time1) {
foreach ($booking_time as $time2) {
{
if(($time1['from_time'] > $time2['from_time'] && $time1['from_time'] < $time2['to_time'])|| ( $time1['to_time'] > $time2['from_time'] && $time1['to_time'] < $time2['to_time'])){
echo $time1['from_time'];
echo $time1['to_time'];
}
}
}
}
【问题讨论】:
-
我不知道你想做什么——你预期结果中的时间似乎与输入没有任何关系。您的代码在
if的正文中没有任何内容。此外,您似乎已将密钥从from_time和to_time更改为start和end。 -
我想他想找到给定数组之间的共同时间
-
类似3v4l.org/jeqF5 ?
-
@Glavić,将此添加到答案中,以便我接受并投票。非常好,接近我的解决方案。
标签: php arrays time intersection