希望这是一个非常简单的数学问题。如果我有两个数字范围,检查它们是否冲突的最简单和最有效的方法是什么,例如:
10-20 and 11-14 // clash as B is contained in A
11-15 and 20-22 // don't clash
24-26 and 20-30 // clash as A is contained in B
15-25 and 20-30 // clash as they overlap at each end
我目前有这个混乱,但必须有一个更简单的方法来做这个检查:
$clash = ($b1 >= $a1 && $b1 <= $a2)
|| ($b2 >= $a1 && $b2 <= $a2)
|| ($a1 >= $b1 && $a1 <= $b2)
|| ($a2 >= $b1 && $a2 <= $b2);