>  기사  >  백엔드 개발  >  PHP 배열에서 동일한 키 이름을 제거하는 방법

PHP 배열에서 동일한 키 이름을 제거하는 방법

PHPz
PHPz원래의
2023-04-25 10:42:59472검색

PHP 프로그래밍에서 배열은 일반적으로 사용되는 데이터 구조로, 동일한 유형의 데이터 그룹을 저장하는 데 자주 사용됩니다. 배열은 각 요소에 특정 키가 있는 인덱스 목록입니다. 그러나 일반적으로 배열에서 동일한 키 이름을 제거해야 할 수도 있습니다. 이 기사에서는 PHP 배열에서 동일한 키 이름을 제거하는 방법을 소개합니다.

방법 1: array_unique 함수 사용

array_unique() 함수는 배열에서 중복된 값을 제거하고 새 배열을 반환할 수 있습니다. 동일한 키 이름을 가진 요소를 제거해야 하는 경우 먼저 array_values()를 사용하여 새 인덱스 배열을 얻은 다음 array_unique() 함수를 사용하여 중복을 제거하고 마지막으로 array_combine() 함수를 사용하여 키 이름을 다시 결합할 수 있습니다. 새로운 연관 배열에 값을 추가합니다.

샘플 코드는 다음과 같습니다.

$original_array = array(
  "id" => "001",
  "name" => "John",
  "gender" => "male",
  "id" => "002",
  "city" => "New York",
  "gender" => "female"
);

$new_array = array_values(array_unique($original_array));
$result_array = array_combine(range(1, count($new_array)), $new_array);

print_r($result_array);

위 코드는 다음 결과를 출력합니다.

Array
(
    [1] => 001
    [2] => John
    [3] => male
    [4] => New York
    [5] => female
)

방법 2: foreach 루프 사용

원래 배열에서 키 이름이 반복되는 요소를 중복 제거하고 마지막 항목을 유지해야 하는 경우 하나는 foreach 루프가 배열을 탐색하고 키 이름을 비교하여 중복 요소를 찾은 다음 unset() 함수를 사용하여 중복 요소를 삭제할 수 있습니다.

샘플 코드는 다음과 같습니다.

$original_array = array(
  "id" => "001",
  "name" => "John",
  "gender" => "male",
  "id" => "002",
  "city" => "New York",
  "gender" => "female"
);

foreach ($original_array as $key => $value) {
  $duplicated_key = array_keys($original_array, $value);
  if (count($duplicated_key) > 1) {
    unset($original_array[$duplicated_key[0]]);
  }
}

print_r($original_array);

위 코드는 다음과 같은 결과를 출력합니다.

Array
(
    [name] => John
    [gender] => female
    [city] => New York
)

위 코드는 연속된 중복 키 이름만 제거할 수 있습니다. 중복된 키 이름을 모두 제거하려면 foreach 루프를 while 루프로 변경하고 삭제된 요소의 키 이름이 더 이상 반복되지 않을 때까지 내부적으로 unset() 작업을 수행하면 됩니다.

요약하자면, PHP에서는 array_unique() 함수나 foreach 루프를 사용하여 배열에서 동일한 키 이름을 제거할 수 있습니다. 특정 시나리오에서는 실제 상황에 따라 적절한 방법을 선택해야 합니다.

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

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