PHP로 프로그래밍할 때 2차원 배열 연산이 포함되는 경우가 많습니다. 때로는 2차원 배열의 중복을 제거해야 합니다. 즉, 중복된 항목을 제거해야 합니다. 이 기사에서는 PHP에서 2차원 배열의 중복을 제거하는 방법을 소개합니다.
1. array_unique 함수를 사용하세요
array_unique 함수는 배열에서 중복된 값을 삭제하고 중복된 값이 없는 새 배열을 반환할 수 있습니다. 그러나 array_unique 함수는 2차원 배열의 중복을 제거하는 데 직접 사용할 수 없습니다.
array_walk 함수를 사용하여 배열을 순회하고, 각 요소 내에서 array_unique 함수를 사용하여 중복을 제거할 수 있습니다. 샘플 코드는 다음과 같습니다.
function array_unique_key($arr,$key){ $tmp_arr=array(); foreach($arr as $k => $v){ if(in_array($v[$key],$tmp_arr)){ //判断是否重复 unset($arr[$k]); //重复则删除 }else{ $tmp_arr[]=$v[$key]; //将值存储在临时数组中 } } return $arr; }
위 코드에서 $arr는 중복 제거가 필요한 2차원 배열이고, $key는 지정된 키 이름(즉, 중복 제거할 요소에 해당하는 키 이름)입니다. ), 함수는 중복이 제거된 새 배열을 반환합니다.
2. 사용자 정의 기능을 사용하여
중복 제거 로직을 직접 구현하세요. 다음 예제 코드는 루프 방법을 사용하여 중복 제거를 구현합니다.
function array_unique_key($arr,$key){ $temp_array = array(); foreach ($arr as $k => $v){ if (!in_array($v[$key], $temp_array)){ array_push($temp_array, $v[$key]); $temp_arr[] = $v; } } return $temp_arr; }
위 코드에서 $arr는 중복 제거가 필요한 2차원 배열이고, $key는 지정된 키 이름(즉, 키 이름에 해당하는 키 이름)입니다. 요소), 이 함수는 중복 제거 후 새 배열을 반환합니다.
3. array_reduce 함수를 사용하세요.
array_reduce 함수는 배열의 각 요소를 반복하고 축소된 단일 값을 반환할 수 있습니다.
이 기능을 사용하여 2차원 배열의 중복 제거를 구현할 수 있습니다.
코드는 다음과 같습니다.
function array_unique_key($arr,$key){ return array_reduce($arr, function($carry, $item) use ($key) { if(!in_array($item[$key], array_column($carry, $key))) { $carry[] = $item; } return $carry; }, []); }
위 코드에서 $arr는 중복 제거가 필요한 2차원 배열이고, $key는 지정된 키 이름(즉, 중복 제거할 요소에 해당하는 키 이름)입니다. 중복 제거됨), 함수는 중복 제거 후 새 배열을 반환합니다.
4. PHP 내장 함수와 결합된 사용자 정의 함수 사용
다음 코드는 PHP 내장 함수 array_map, array_flip 및 array_values를 결합하여 2차원 배열의 중복 제거 기능을 구현하는 코드입니다.
function array_unique_key($arr,$key){ return array_values(array_flip(array_map(function($item) use($key){ return json_encode($item[$key]); }, $arr))); }
위 코드에서 $arr 중복 제거가 필요한 2차원 배열입니다. $key는 지정된 키 이름(즉, 중복 제거할 요소에 해당하는 키 이름)입니다. 이 함수는 중복 제거 후 새 배열을 반환합니다.
요약
위는 PHP에서 2차원 배열을 중복 제거하는 여러 방법입니다. array_unique, 사용자 정의 함수 사용, PHP 내장 함수 array_map, array_flip 및 array_reduce를 결합하는 방법 등을 대략적으로 소개합니다. 다양한 애플리케이션 시나리오는 다양한 방법을 사용하며 프로그래머는 특정 상황에 따라 선택할 수 있습니다.
위 내용은 PHP의 2차원 배열에서 중복을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!