PHP获取二维数组的重复的数据
这里的二维数组要先进行排序一下,数据库内查询时group by排序,或者用别的排序方法对数组进行排序一下,根据你确定可能重复的数据排序。
//获取二维数组的重复数据
function get_repeat_data($array){
//这里的$array在数据库查询的时候要group by排序一下
//计算出数组的总数量
$count = count($array);
//循环从0开始逐次+1
for($i=0;$i<$count;$i++){
//每次都比第一层循环+1,如果第一层循环0数据,第二层就循环1数据,以此类推
for($j=$i+1;$j<$count;$j++){
//比较两次数据是否相等
if($array[$i] == $array[$j]){
$repeat_data[$i]=$array[$i];
$repeat_data[$j]=$array[$j];
}
}
}
return $repeat_data;
}
上面是判断数据全相等的,如果是根据某几个字段相等就判定该数据相等用下边的:
//获取二维数组的重复数据
function get_repeat_data($array){
//这里的$array在数据库查询的时候要group by排序一下
//计算出数组的总数量
$count = count($array);
for($i=0;$i<$count;$i++){
//这里是根据数组内的学校,年级,班级三个字段相等即判断为重复相等的数据,具体字段数据根据自己的需要修改
$i_data = $array[$i]['school'] . $array[$i]['grade'] . $array[$i]['class'];
for($j=$i+1;$j<$count;$j++){
$j_data = $array[$j]['school'] . $array[$j]['grade'] . $array[$j]['class'];
if($i_data == $j_data){
$repeat_data[$i]=$array[$i];
$repeat_data[$j]=$array[$j];
}
}
}
return $repeat_data;
}