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

PHP의 2차원 배열에서 동일한 요소를 삭제하는 방법

Apr 26, 2023 am 09:10 AM

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으로 문의하세요.

    핫 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

    중국어 버전, 사용하기 매우 쉽습니다.

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

    신 수준의 코드 편집 소프트웨어(SublimeText3)

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

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

    PHP 8 JIT (정시) 편집 : 성능 향상 방법. PHP 8 JIT (정시) 편집 : 성능 향상 방법. Mar 25, 2025 am 10:37 AM

    PHP 8의 JIT 컴파일은 자주 실행되는 코드를 컴퓨터 코드로 컴파일하여 성능을 향상시켜 계산이 많은 응용 프로그램에 도움이되고 실행 시간을 줄입니다.

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

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

    PHP 암호화 : 대칭 대 비대칭 암호화. PHP 암호화 : 대칭 대 비대칭 암호화. Mar 25, 2025 pm 03:12 PM

    이 기사는 PHP의 대칭 및 비대칭 암호화에 대해 논의하여 적합성, 성능 및 보안 차이를 비교합니다. 대칭 암호화는 더 빠르고 벌크 데이터에 적합하지만 안전한 키 교환에는 비대칭이 사용됩니다.

    PHP 인증 & amp; 승인 : 보안 구현. PHP 인증 & amp; 승인 : 보안 구현. Mar 25, 2025 pm 03:06 PM

    이 기사에서는 PHP에서 강력한 인증 및 승인을 구현하여 무단 액세스를 방지하고 모범 사례를 자세히 설명하고 보안 향상 도구를 권장합니다.

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

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

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

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

    PHP CSRF 보호 : CSRF 공격 방지 방법. PHP CSRF 보호 : CSRF 공격 방지 방법. Mar 25, 2025 pm 03:05 PM

    이 기사는 CSRF 토큰, 동일한 사이트 쿠키 및 적절한 세션 관리를 포함하여 PHP의 CSRF 공격을 방지하는 전략에 대해 설명합니다.

    See all articles