>백엔드 개발 >PHP 문제 >PHP 배열에서 동일한 값 제거

PHP 배열에서 동일한 값 제거

WBOY
WBOY원래의
2023-05-07 19:56:06571검색

PHP에서 배열은 매우 중요한 데이터 유형이며, 배열에 있는 동일한 값을 제거해야 하는 경우가 종종 발생합니다. 이 프로세스를 중복 제거라고 하며 중복 제거라고도 합니다. 실제 개발에서 중복 제거는 많은 문제를 해결하는 데 필요한 단계입니다.

PHP는 배열 중복을 제거하는 데 사용할 수 있는 다양한 내장 기능을 제공합니다. 이 기사에서는 일반적으로 사용되는 네 가지 방법을 소개합니다.

방법 1: array_unique() 함수 사용

array_unique() 함수는 PHP에서 가장 간단하고 일반적으로 사용되는 함수 중 하나입니다. 배열에서 중복된 값을 제거하고 새 배열을 반환하는 데 사용할 수 있습니다.

다음은 간단한 예입니다.

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array_unique($arr);
print_r($result);

이 코드의 출력은 다음과 같습니다.

Array ( [0] => 1 [1] => 2 [2] => 3 [4] => 4 [6] => 5 )

원래 배열에서 중복된 값 ​​2와 3이 제거된 것을 볼 수 있습니다. 그러나 array_unique() 함수는 1차원 배열에서 중복된 값을 제거하는 데에만 사용할 수 있다는 점에 유의해야 합니다. 다차원 배열에서 중복된 값을 제거해야 한다면 다른 방법을 사용해야 합니다.

방법 2: array_count_values() 함수 사용

array_count_values() 함수는 배열에서 각 값의 발생 횟수를 계산하고 새 배열을 반환하는 데 사용됩니다. 여기서 각 값의 발생 횟수는 배열로 사용됩니다. 해당 키 값.

다음은 예입니다.

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array_count_values($arr);
print_r($result);

이 코드의 출력은 다음과 같습니다.

Array ( [1] => 1 [2] => 2 [3] => 2 [4] => 1 [5] => 1 )

이 새 배열에서 각 키는 원본 배열에 나타나는 값을 나타내고 해당 값은 원본 배열의 값을 나타냅니다. 배열의 발생 횟수입니다.

원본 배열의 고유 값에만 관심이 있는 경우 array_keys() 함수를 사용하여 새 배열의 모든 키를 가져와 원래 번호를 얻을 수 있습니다. 중복 값을 제거하려면 array_unique() 함수를 사용하면 됩니다. .

방법 3: foreach 루프 사용

내장 함수를 사용하지 않으려면 foreach 루프를 작성하여 배열에서 중복된 값을 제거할 수 있습니다.

여기 예가 있습니다:

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array();
foreach ($arr as $value) {
    if (!in_array($value, $result)) {
        $result[] = $value;
    }
}
print_r($result);

이 코드의 출력은 array_unique() 함수를 사용할 때와 동일합니다.

이 예에서는 먼저 빈 배열 $result를 정의한 다음 foreach를 사용하여 원래 배열 $arr의 모든 값을 반복합니다. 현재 값이 $result 배열에 없으면 $result 배열에 추가하여 새롭고 고유한 배열을 만듭니다.

이 루프에서는 in_array() 함수를 사용하여 현재 값이 $result 배열에 있는지 확인한다는 점에 주목할 가치가 있습니다. $result 배열에 해당 값이 존재한다면 이미 추가된 것이므로 다시 추가할 필요가 없습니다.

방법 4: array_flip() 및 array_values() 함수 사용

마지막으로 array_flip() 및 array_values() 함수를 사용한 중복 제거 방법을 소개하겠습니다.

array_flip() 함수는 배열의 키와 값을 교환하여 새 배열을 만들 수 있습니다. 원본 배열에 중복 값이 ​​포함된 경우 이 메서드는 중복 값을 자동으로 제거합니다.

예는 다음과 같습니다.

$arr = array(1, 2, 3, 2, 4, 3, 5);
$result = array_values(array_flip($arr));
print_r($result);

이 코드의 출력은 이전 예와 동일합니다.

이 예에서는 먼저 array_flip() 함수를 사용하여 원래 배열의 키와 값을 바꾼 다음 array_values() 함수를 사용하여 새 배열의 값을 재정렬합니다. 원래 배열에는 중복된 값이 포함되어 있으므로 array_flip() 함수를 사용하면 이러한 중복된 값은 자동으로 제거됩니다.

결론

배열 중복 제거는 의심할 여지 없이 PHP에서 매우 중요한 작업입니다. 이는 데이터 처리 중 반복 계산을 방지하고 프로그램 실행 효율성을 향상시킬 수 있습니다. 이 기사에서는 array_unique() 함수, array_count_values() 함수, foreach 루프, array_flip() 및 array_values() 함수를 포함한 여러 중복 제거 방법을 다루었습니다. 각각의 특성이 있으므로 필요에 맞는 방법을 선택할 수 있습니다.

위 내용은 PHP 배열에서 동일한 값 제거의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.