Bu umarım çok basit bir matematik soru. Ben iki sayı aralıkları varsa, ne, örneğin çatışma olmadığını kontrol etmek için basit ve en etkili yoludur:
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
Şu anda bu karışıklığı var, ancak bu denetimi yapmak için çok daha basit bir yolu olmalı:
$clash = ($b1 >= $a1 && $b1 <= $a2)
|| ($b2 >= $a1 && $b2 <= $a2)
|| ($a1 >= $b1 && $a1 <= $b2)
|| ($a2 >= $b1 && $a2 <= $b2);