찾다
백엔드 개발PHP 문제PHP의 2차원 배열에서 동일한 요소를 삭제하는 방법

2차원 배열에서 동일한 요소를 삭제하는 것은 PHP에서 매우 일반적인 작업입니다. 삭제를 수행하기 전에 어떤 요소가 동일한지 확인하려면 복잡한 계산이 필요한 경우가 많습니다. 다행스럽게도 PHP는 이러한 작업을 완료하는 데 도움이 되는 몇 가지 유용한 기능을 제공합니다. 이 기사에서는 PHP의 2차원 배열에서 동일한 요소를 삭제하는 데 도움이 되는 몇 가지 기능과 기술을 소개합니다.

  1. array_map 및 array_unique 함수 사용

array_map 함수는 배열의 각 요소에 함수를 적용하고 새 배열을 반환합니다. array_map 함수와 array_unique 함수를 사용하여 2차원 배열에서 동일한 요소를 삭제할 수 있습니다. 먼저 array_map 함수를 사용하여 2D 배열의 모든 값을 추출하겠습니다. 그런 다음 array_unique 함수를 사용하여 이 새 배열에서 중복 값을 제거합니다. 마지막으로 array_map 함수를 사용하여 추출된 값을 원래 2D 배열 형식으로 다시 매핑하겠습니다.

function removeDuplicates($arr) {
    $flatten = array_map('array_values', $arr); 
    $unique_values = array_map('unserialize', array_unique(array_map('serialize', $flatten))); 
    return array_map('array_combine', array_keys($arr), array_values($unique_values));
}

이 함수는 다음과 같이 작동합니다.

먼저 array_map 함수를 사용하여 2차원 배열을 1차원 배열로 변환합니다. 이 함수는 각 요소가 작은 배열의 모든 값을 나타내는 새 배열을 반환한 다음 큰 배열에 캡슐화합니다. array_map 函数将二维数组转化如一维数组。这个函数将会返回一个新的数组,其中每个元素代表着小数组中的所有值,这些值再被封装在大数组中。

array_unique 函数会删除 $flatten 数组中的重复值,并重新索引所有的数字键(如果它们存在的话)。

之后,我们发现索引已经被重置了,所以将值 unserialize,重新索引,并使用 array_combine 函数映射回原来的键 / 值对。

  1. 使用 foreach 遍历数组

要使用 foreach 遍历数组来删除相同的元素,我们需要先遍历并创建一个关联数组。在得到所有的值后,我们可以使用 array_unique 函数删除数组中的重复值。最后,我们可以使用 foreach 循环重复映射值。

function removeDuplicates($arr) {
    $new_arr = array();
    foreach ($arr as $key => $value) {
        $new_arr[$key] = serialize($value);
    }
    $unique_arr = array_unique($new_arr);
    foreach ($unique_arr as $key => $value) {
        $unique_arr[$key] = unserialize($value);
    }
    return $unique_arr;
}

这段代码会遍历数组,将键和一个经过序列化的数组值添加到 $new_arr

array_unique 함수는 $Flatten 배열에서 중복 값을 제거하고 모든 숫자 키가 있으면 다시 색인을 생성합니다.
  1. 나중에 인덱스가 재설정된 것을 확인하여 값을 직렬화 해제하고 다시 인덱스한 다음 array_combine 함수를 사용하여 원래 키/값 쌍으로 다시 매핑합니다.
    1. foreach를 사용하여 배열 탐색

      foreach를 사용하여 배열을 탐색하여 동일한 요소를 삭제하려면 먼저 연관 배열을 탐색하고 생성해야 합니다. 모든 값을 얻은 후 array_unique 함수를 사용하여 배열에서 중복된 값을 제거할 수 있습니다. 마지막으로 foreach 루프를 사용하여 값을 반복적으로 매핑할 수 있습니다.

      function removeDuplicates($arr) {
          $unique_arr = array();
          foreach ($arr as $key => $value) {
              if (!in_array($value, $unique_arr)) {
                  $unique_arr[$key] = $value;
              }
          }
          return $unique_arr;
      }
      이 코드는 배열을 반복하면서 키와 직렬화된 배열 값을 $new_arr 연관 배열에 추가합니다. 다음으로 array_unique 함수를 사용하여 중복 요소를 제거합니다. 마지막으로 foreach를 다시 사용하여 배열을 역직렬화하고 인덱스를 다시 그립니다.

      첫 번째 값과 다른 방식🎜🎜🎜세 번째 방법은 처음 두 가지 방법과 다릅니다. 모든 요소를 ​​반복하지만 첫 번째 값만 유지합니다. 마찬가지로 foreach 루프를 사용하여 배열을 반복할 수 있습니다. 중복되지 않은 값의 경우 $unique_arr 배열에 추가하고, 그렇지 않으면 단순히 요소를 건너뜁니다. 🎜rrreee🎜이 함수는 모든 배열 요소를 반복하고 in_array() 함수를 사용하여 해당 요소가 $unique_arr 배열에 추가되었는지 확인합니다. 요소가 발견되지 않으면 배열에 추가됩니다. 이 함수는 모든 🎜동일한 요소가 제거된 배열 🎜을 반환합니다. 🎜🎜array_map을 사용하든 foreach 함수를 사용하든 위의 팁을 사용하면 PHP 2D 배열에서 동일한 요소를 쉽게 삭제할 수 있습니다. PHP에서 배열을 보다 효율적으로 사용할 수 있도록 이러한 함수를 이해하고 사용하는 것을 잊지 마십시오. 🎜

    위 내용은 PHP의 2차원 배열에서 동일한 요소를 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    산과 기본 데이터베이스 : 차이 및 각각을 사용 해야하는시기.산과 기본 데이터베이스 : 차이 및 각각을 사용 해야하는시기.Mar 26, 2025 pm 04:19 PM

    이 기사는 산 및 기본 데이터베이스 모델을 비교하여 특성과 적절한 사용 사례를 자세히 설명합니다. 산은 금융 및 전자 상거래 애플리케이션에 적합한 데이터 무결성 및 일관성을 우선시하는 반면 Base는 가용성 및

    PHP 보안 파일 업로드 : 파일 관련 취약점 방지.PHP 보안 파일 업로드 : 파일 관련 취약점 방지.Mar 26, 2025 pm 04:18 PM

    이 기사는 코드 주입과 같은 취약점을 방지하기 위해 PHP 파일 업로드 보안에 대해 설명합니다. 파일 유형 유효성 검증, 보안 저장 및 오류 처리에 중점을 두어 응용 프로그램 보안을 향상시킵니다.

    PHP 입력 유효성 검증 : 모범 사례.PHP 입력 유효성 검증 : 모범 사례.Mar 26, 2025 pm 04:17 PM

    기사는 내장 함수 사용, 화이트리스트 접근 방식 및 서버 측 유효성 검사와 같은 기술에 중점을 둔 보안을 향상시키기 위해 PHP 입력 유효성 검증에 대한 모범 사례를 논의합니다.

    PHP API 요율 제한 : 구현 전략.PHP API 요율 제한 : 구현 전략.Mar 26, 2025 pm 04:16 PM

    이 기사는 토큰 버킷 및 누출 된 버킷과 같은 알고리즘을 포함하여 PHP에서 API 요율 제한을 구현하고 Symfony/Rate-Limiter와 같은 라이브러리 사용 전략에 대해 설명합니다. 또한 모니터링, 동적 조정 요율 제한 및 손도 다룹니다.

    PHP 비밀번호 해싱 : password_hash 및 password_verify.PHP 비밀번호 해싱 : password_hash 및 password_verify.Mar 26, 2025 pm 04:15 PM

    이 기사에서는 PHP에서 암호를 보호하기 위해 PHP에서 Password_hash 및 Password_Verify 사용의 이점에 대해 설명합니다. 주요 주장은 이러한 기능이 자동 소금 생성, 강한 해싱 알고리즘 및 Secur를 통해 암호 보호를 향상 시킨다는 것입니다.

    OWASP Top 10 PHP : 일반적인 취약점을 설명하고 완화하십시오.OWASP Top 10 PHP : 일반적인 취약점을 설명하고 완화하십시오.Mar 26, 2025 pm 04:13 PM

    이 기사는 PHP 및 완화 전략의 OWASP Top 10 취약점에 대해 설명합니다. 주요 문제에는 PHP 응용 프로그램을 모니터링하고 보호하기위한 권장 도구가 포함 된 주입, 인증 파손 및 XSS가 포함됩니다.

    PHP XSS 예방 : XSS로부터 보호하는 방법.PHP XSS 예방 : XSS로부터 보호하는 방법.Mar 26, 2025 pm 04:12 PM

    이 기사는 PHP의 XSS 공격을 방지하기위한 전략, 입력 소독, 출력 인코딩 및 보안 향상 라이브러리 및 프레임 워크 사용에 중점을 둔 전략에 대해 설명합니다.

    PHP 인터페이스 대 추상 클래스 : 각각을 사용할 때.PHP 인터페이스 대 추상 클래스 : 각각을 사용할 때.Mar 26, 2025 pm 04:11 PM

    이 기사는 각각의 사용시기에 중점을 둔 PHP의 인터페이스 및 추상 클래스 사용에 대해 설명합니다. 인터페이스는 관련없는 클래스 및 다중 상속에 적합한 구현없이 계약을 정의합니다. 초록 클래스는 일반적인 기능을 제공합니다

    See all articles

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

    사실적인 누드 사진을 만들기 위한 AI 기반 앱

    AI Clothes Remover

    AI Clothes Remover

    사진에서 옷을 제거하는 온라인 AI 도구입니다.

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    Video Face Swap

    Video Face Swap

    완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

    뜨거운 도구

    WebStorm Mac 버전

    WebStorm Mac 버전

    유용한 JavaScript 개발 도구

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    Eclipse용 SAP NetWeaver 서버 어댑터

    Eclipse용 SAP NetWeaver 서버 어댑터

    Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

    에디트플러스 중국어 크랙 버전

    에디트플러스 중국어 크랙 버전

    작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

    안전한 시험 브라우저

    안전한 시험 브라우저

    안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.