请问如何有效判断几组数据范围是否有交集
5000~7000
2000~6000
8000~9000
4000~8500
5000~7000
请问php中这几组随机的数据怎么样更有效的判断是否有重复?
期望值是
2000~4000
4000~5000
5000~6000
6000~7000
7000~8500
8500~9000
php
[解决办法]
只需要判别是否包含,可以写成函数
还是沿袭开始的思路
$a = array(
array(5000, 7000),
array(2000, 6000),
array(8000, 9000),
array(4000, 8500),
array(5000, 7000),
);
var_dump(foo($a)); //bool(false)
$a = array(
array(5000, 7000),
array(6000, 8200),
array(8000, 9000)
);
var_dump(foo($a)); //bool(false)
$a = array(
array(5000, 5500),
array(6000, 6500),
array(8000, 8500)
);
var_dump(foo($a)); //bool(true)
function foo($a) {
$r = array_unique(call_user_func_array('array_merge', $a));
sort($r);
foreach($a as $v) {
if(array_search($v[0], $r) != array_search($v[1], $r) - 1) return false;
}
return true;
}