Jest to, miejmy nadzieję, bardzo proste pytanie matematyczne. Jeśli mam dwa zakresy numeryczne, co jest najprostszym i najbardziej skutecznym sposobem, aby sprawdzić, czy one kolidować, np:Wykrywanie, czy zdarzą się dwa zakresy numerów
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
Obecnie mam ten bałagan, ale nie musi być znacznie prostszy sposób, aby zrobić ten test:
$clash = ($b1 >= $a1 && $b1 <= $a2)
|| ($b2 >= $a1 && $b2 <= $a2)
|| ($a1 >= $b1 && $a1 <= $b2)
|| ($a2 >= $b1 && $a2 <= $b2);
Właśnie napisałem :-) +1 za bycie szybszym. –
lub bez negacji: '$ clash = ($ b1 <= $ a2) && ($ a1 <= $ b2)' – sth
Dzięki, to świetnie. –