>  기사  >  백엔드 개발  >  PHP에서 중복 값에 대한 배열을 쿼리하는 방법

PHP에서 중복 값에 대한 배열을 쿼리하는 방법

PHPz
PHPz원래의
2023-04-27 16:38:281360검색

PHP에서 일부 요소를 목록에 저장해야 하는 경우 가장 자연스러운 아이디어는 배열을 사용하는 것입니다. 배열은 많은 수의 요소를 쉽게 저장할 수 있으며 다양한 강력한 작업을 지원할 수 있습니다. 그러나 배열에 중복 요소가 포함된 경우 이러한 중복 값을 찾기 위해 몇 가지 추가 작업을 수행해야 할 수도 있습니다. 이 기사에서는 PHP에서 중복 값에 대한 배열을 쿼리하는 방법을 설명합니다.

1. array_count_values ​​​​함수 사용

PHP의 array_count_values ​​​​함수는 배열에서 각 값의 발생 횟수를 계산하고 새 배열을 반환할 수 있습니다. 여기서 키는 원래 배열의 값이고 값은 원래 배열 주파수의 값입니다. 따라서 이 함수를 사용하여 중복된 값을 찾을 수 있습니다. 다음은 간단한 예입니다.

$numbers = array(1, 2, 3, 2, 4, 1, 5, 2);
$counts = array_count_values($numbers);
$repeats = array();
foreach ($counts as $value => $count) {
    if ($count > 1) {
        $repeats[] = $value;
    }
}
print_r($repeats);

출력:

Array
(
    [0] => 1
    [1] => 2
)

위 예에서는 먼저 중복 값이 ​​포함된 $numbers 배열을 정의합니다. 그런 다음 array_count_values ​​​​함수를 호출하여 각 값의 발생 횟수를 계산했습니다. 출력은 두 개의 키-값 쌍을 포함하는 배열입니다. 여기서 키는 값이고 값은 해당 값이 발생하는 횟수입니다.

그런 다음 foreach 루프를 사용하여 배열을 반복하고 각 값의 발생 횟수가 1보다 큰지 확인합니다. 그렇다면 해당 값은 다른 배열 $repeat에 추가됩니다. 마지막으로, 반복되는 값을 표시하기 위해 print_r 함수를 사용하여 $repeats 배열을 화면에 인쇄합니다.

2. array_unique 함수 및 계산 함수 사용

배열에서 중복된 값을 찾는 또 다른 방법은 array_unique 함수 및 계산 함수를 사용하는 것입니다. array_unique 함수는 중복 제거된 배열을 반환하는 반면, 계산 함수는 각 값이 배열에 나타나는 횟수를 계산합니다. 따라서 이 두 함수를 사용하여 중복된 값을 찾을 수 있습니다. 예는 다음과 같습니다.

$numbers = array(1, 2, 3, 2, 4, 1, 5, 2);
$unique = array_unique($numbers);
$counts = array_count_values($numbers);
$repeats = array();
foreach ($unique as $value) {
    if ($counts[$value] > 1) {
        $repeats[] = $value;
    }
}
print_r($repeats);

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

Array
(
    [0] => 1
    [1] => 2
)

위 예에서는 먼저 array_unique 함수를 사용하여 $numbers 배열에서 중복 값을 제거하고 이를 수행하는 새 배열을 얻습니다. 중복된 값 $unique를 포함하지 마세요. 그런 다음 array_count_values ​​​​함수를 사용하여 원래 배열에서 각 값의 발생 횟수를 계산합니다.

다음으로 foreach 루프를 사용하여 $unique 배열을 반복하고 count 함수를 사용하여 값이 원래 배열에 나타나는 횟수가 1보다 큰지 확인합니다. 그렇다면 값이 새 배열 $repeats에 추가되고 마지막으로 $repeats 배열이 화면에 출력되어 반복된 값을 표시합니다.

3. array_keys 함수를 사용하세요.

배열에서 중복된 값을 찾는 또 다른 방법은 array_keys 함수를 사용하는 것입니다. 이 함수는 지정된 값을 가진 모든 키를 포함하는 배열을 반환합니다. 따라서 이 함수를 사용하여 중복 값을 찾으면 결과 배열의 길이는 중복 값의 개수가 됩니다. 예는 다음과 같습니다.

$numbers = array(1, 2, 3, 2, 4, 1, 5, 2);
$repeats = array();
foreach (array_unique($numbers) as $value) {
    $keys = array_keys($numbers, $value);
    if (count($keys) > 1) {
        $repeats[] = $value;
    }
}
print_r($repeats);

출력도 동일합니다.

Array
(
    [0] => 1
    [1] => 2
)

위 예에서는 먼저 array_unique 함수를 사용하여 $numbers 배열에서 중복 값을 제거하고 중복을 포함하지 않는 새 배열을 얻습니다. 가치. 그런 다음 foreach 루프를 사용하여 배열을 반복하고 array_keys 함수를 사용하여 해당 값을 포함하는 원래 배열의 모든 키를 찾습니다. 발견된 키 수가 1보다 크면 해당 값이 새 배열 $repeat에 추가됩니다. 마지막으로 $repeats 배열을 화면에 인쇄하여 반복되는 값을 표시합니다.

요약

위는 PHP 배열에서 중복된 값을 쿼리하는 세 가지 방법입니다. 각 방법은 약간씩 다르게 수행되지만 모든 방법이 중복 값을 찾는 데 효과적입니다. 이러한 방법을 배우면 PHP에서 배열 조작 기술을 더 잘 익힐 수 있으며 프로젝트에서 배열의 반복 요소를 더 쉽게 처리할 수 있습니다.

위 내용은 PHP에서 중복 값에 대한 배열을 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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