技术饭
PHP二维数组去除重复项
PHP的一维数组正常使用array_unique()方法直接去除重复项即可,但是二维数据似乎没有固定的内置函数,这时候就需要自己手动些方法处理了,那如果去除二维数组的重复项呢?研究了一会,大概写了简略版本的去重方案。
//处理数据
$params['org_info'] = [
['org_id' => 1, 'value' => '值1'],
['org_id' => 2, 'value' => '值2'],
['org_id' => 2, 'value' => '值2'],
['org_id' => 4, 'value' => '值3'],
['org_id' => 4, 'value' => '值3']
];
$org_info = $params['org_info'];
$org_info_arr = []; //过渡处理的数组
if(!empty($org_info)){
//循环删除重复项
foreach($org_info as $key => $value){
//默认未匹配到
$is_match= 0;
foreach($org_info_arr as $key_1 => $value_1){
//存在则直接跳过
if($value['org_id'] == $value_1['org_id'] && $value['value'] == $value_1['value']){
$is_match = 1;
break;
}
}
//如果未匹配到则压入数组
if($is_match == 0){
$org_info_arr[] = $value;
}
}
}
//处理完成之后的数据
$params['org_info'] = [
['org_id' => 1, 'value' => '值1'],
['org_id' => 2, 'value' => '值2'],
['org_id' => 4, 'value' => '值3']
];
文明上网理性发言!