有数据段:
A: 101-105
B: 121-127
C: 127-130
这个时候希望能找出数据段中有没有重复的数据!如:101-120(101,102,103,104,105)
121-127(121,122,123,124,125,126,127)
127-130(127.128.129.130)这个时候B与C就有重复的数据127,就要提醒数据段中有重复的数据要怎么判断!
A: 101-105
B: 121-127
C: 127-130
这个时候希望能找出数据段中有没有重复的数据!如:101-120(101,102,103,104,105)
121-127(121,122,123,124,125,126,127)
127-130(127.128.129.130)这个时候B与C就有重复的数据127,就要提醒数据段中有重复的数据要怎么判断!
解决方案 »
- ThinkPHP 台代码动态修改config.php中的配置信息
- 问一个smarty变量输出的问题
- php怎样获取日期中的月份
- 满分急求高手帮忙,急死了啦,解决了还加分。。。。。。。。。。。。。
- PDO和ADOdb你的选择和理由是什么?
- interhtml中的HTML嵌的js函数可以执行吗??
- 各位高手,帮忙想一下,我要用nginx伪静态,http://127.0.0.1/phurl/vP3g8 http://127.0.0.1/phurl?aid=
- PHP +MS SQL运行mssql_fetch_array($result);遇到错误
- 1000分请人帮我写一个小程序好吗????
- 删除文件问题。请大家帮帮忙。
- 求且mysq语句,删除重复内容,语句出错.
- php和mysql的模糊查询问题,大虾,救命啊!
'A' => '101-105',
'C' => '127-130',
'B' => '121-127',
);
/*** 确保按升序排列 ***/
asort($ar);/*** 将数据展开的回调函数 ***/
function foo($v) {
$t = split('-', $v);
return range($t[0], $t[1]);
}/*** 展开数据 ***/
$ar = array_map('foo', $ar);$old = array();
$key = '';
foreach($ar as $k=>$new) {
if($key) {
if(array_intersect($old, $new))
echo "$key $k 有重复<br />";
}
$old = $new;
$key = $k;
}
只要比较前一个范围的上界是否>=后一个范围的下界就可以了,
不必用range展开成数组比较了
if(count($result)!=count($yourarray))
echo "有重复";
$t =explode('-', $v);
$arr=range($t[0], $t[1]);
if(count($arr)>10)//数组元素个数超过10个就给出信息并退出!否则返回该数组
exit('数组超过了规定的长度');
else
return $arr;
}