Questa è sperabilmente una domanda di matematica molto semplice. Se ho due gamme di numero, qual è il modo più semplice ed efficace per controllare se sono scontrano, ad esempio:Rilevare se due intervalli di numeri si scontrano
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
Al momento ho questo pasticcio, ma ci deve essere un modo molto più semplice per fare questo controllo:
$clash = ($b1 >= $a1 && $b1 <= $a2)
|| ($b2 >= $a1 && $b2 <= $a2)
|| ($a1 >= $b1 && $a1 <= $b2)
|| ($a2 >= $b1 && $a2 <= $b2);
Stavo andando a postare :-) +1 per essere più veloce. –
o, senza negazione: '$ clash = ($ b1 <= $ a2) && ($ a1 <= $ b2)' – sth
Grazie, è grandioso. –