PHP에서 일부 요소를 목록에 저장해야 하는 경우 가장 자연스러운 아이디어는 배열을 사용하는 것입니다. 배열은 많은 수의 요소를 쉽게 저장할 수 있으며 다양한 강력한 작업을 지원할 수 있습니다. 그러나 배열에 중복 요소가 포함된 경우 이러한 중복 값을 찾기 위해 몇 가지 추가 작업을 수행해야 할 수도 있습니다. 이 기사에서는 PHP에서 중복 값에 대한 배열을 쿼리하는 방법을 설명합니다.
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 배열을 화면에 인쇄합니다.
배열에서 중복된 값을 찾는 또 다른 방법은 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 배열이 화면에 출력되어 반복된 값을 표시합니다.
배열에서 중복된 값을 찾는 또 다른 방법은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!