> 백엔드 개발 > PHP 문제 > PHP 배열에서 동일한 값을 삭제하는 방법

PHP 배열에서 동일한 값을 삭제하는 방법

PHPz
풀어 주다: 2023-04-23 15:56:48
원래의
490명이 탐색했습니다.

PHP는 웹 개발에서 매우 널리 사용되는 프로그래밍 언어이며, 웹 개발에서는 배열 사용이 매우 일반적입니다. 하지만 배열에서 동일한 값을 삭제하는 경우 가끔 상황이 발생합니다. 이 기사에서는 PHP 프로그래밍 언어를 사용하여 배열에서 동일한 값을 삭제하는 방법을 소개합니다.

PHP 배열의 기본 사항을 검토하세요. PHP에서 배열은 일련의 값(요소)을 저장하는 데 사용되는 특수한 유형의 변수입니다. 각 요소에는 키와 값이 있습니다. 키는 정수 또는 문자열이 될 수 있지만 값은 숫자, 문자열, 개체 등과 같은 모든 유형의 데이터가 될 수 있습니다.

PHP는 배열을 처리하고 작동하는 데 유용한 많은 배열 기능을 제공합니다. array_unique()와 같은 함수는 배열에서 중복된 요소를 제거할 수 있지만 때로는 중복된 요소를 제거하는 것만으로는 충분하지 않기 때문에 배열에서 중복된 값을 제거해야 합니다(배열에 여러 번 나타나는 경우에도). 이를 수행하는 방법을 살펴 보겠습니다.

먼저, 중복된 요소가 있는 배열이 있습니다. 아래는 예시 배열입니다.

$numbers = array(1, 2, 3, 4, 3, 5, 6, 2, 7, 8, 6, 1);

우리의 목표는 배열에서 동일한 값을 제거하는 것이므로 다음을 수행해야 합니다. 먼저 다음 값을 찾으세요. 이를 위해 PHP에서 array_count_values() 함수를 사용할 수 있습니다. 이 함수는 배열에 있는 각 값의 발생 횟수를 계산하고 해당 값과 해당 발생 횟수를 포함하는 새 배열을 반환합니다.

다음은 array_count_values() 함수를 사용하여 배열의 각 값이 나타나는 횟수를 계산하는 샘플 코드입니다.

$counted = array_count_values($numbers);
print_r($counted);

출력 결과는 다음과 같습니다.

Array
(

[1] => 2
[2] => 2
[3] => 2
[4] => 1
[5] => 1
[6] => 2
[7] => 1
[8] => 1
로그인 후 복사

)

출력 결과에서 볼 수 있듯이, 배열과 그 발생 횟수가 계산되었습니다. 다음으로 원래 배열에서 1개 이상 나타나는 값을 제거해야 합니다.

이를 위해서는 PHP에서 foreach 루프를 사용해야 합니다. 새로 계산된 배열을 반복하고 그 안의 동일한 값을 삭제하겠습니다. 아래는 샘플 코드입니다.

foreach($counted as $key => $value){

if($value > 1){
    for($i=0;$i<$value-1;$i++){
        $keyToDelete = array_search($key, $numbers);
        unset($numbers[$keyToDelete]);
    }
}
로그인 후 복사

}

위 코드가 어떻게 작동하는지 살펴보겠습니다. foreach 루프를 사용하여 계산된 새 배열을 반복합니다. 값이 두 번 이상 나타나면 for 루프를 사용하여 배열의 다른 모든 중복 값을 제거합니다. array_search() 함수를 사용하여 배열에서 삭제할 키를 찾고, unset() 함수를 사용하여 배열에서 삭제합니다.

이제 새 배열을 인쇄하여 동일한 값이 모두 제거되었는지 확인하겠습니다.

print_r($numbers);

출력은 다음과 같습니다.

Array
(

[0] => 1
[1] => 2
[2] => 3
[3] => 4
[5] => 5
[6] => 6
[8] => 7
[9] => 8
로그인 후 복사

)

원본 배열의 동일한 값이 모두 삭제된 것을 확인할 수 있습니다.

웹 개발에서, 특히 양식과 데이터베이스를 다룰 때 배열에서 동일한 값을 삭제하는 것은 매우 필요하고 유용한 작업입니다. PHP 프로그래밍 언어를 사용하면 이를 쉽게 달성할 수 있습니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿