>백엔드 개발 >PHP 문제 >PHP 배열에서 중복 요소를 제거하는 방법은 무엇입니까?

PHP 배열에서 중복 요소를 제거하는 방법은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-07-22 10:36:243237검색

PHP 배열에서 중복 요소를 제거하는 방법: 1. 데이터에서 요소를 삭제하려면 [unset()] 메서드와 [array_splice()] 메서드를 사용할 수 있습니다. 2. 배열에서 여러 요소를 삭제하려면; , [array_diff( )] 방법과 [array_diff_key()] 방법을 사용할 수 있습니다.

PHP 배열에서 중복 요소를 제거하는 방법은 무엇입니까?

PHP 배열에서 중복 요소를 제거하는 방법:

1. 데이터에서 요소를 삭제합니다.

배열에서 요소를 삭제하려면 unset() 또는 array_splice를 사용할 수 있습니다. () 방법.

배열 요소의 값을 알고 있지만 키를 모르는 경우 array_search()를 사용하여 키를 가져올 수 있습니다.

1. Unset() 메서드

unset() 메서드를 사용하면 다른 키의 순서를 변경하지 않는다는 점에 유의하세요. array_values()를 사용할 수 있습니다.

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
unset($array[1]);
           //↑ 你要删除的数组元素值的键
print_r($array);
?>

출력 결과:

Array (
    [0] => a
    [2] => c
)

2.array_splice() 메서드

array_splice() 메서드를 사용하면 배열의 키가 자동으로 다시 인덱싱되지만 연관 배열에서는 작동하지 않습니다. array_values()를 사용해야 키를 숫자 키로 변환합니다.

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
array_splice($array, 1, 1);
                   //↑ Offset which you want to delete
print_r($array);
?>

출력 결과:

Array
(
    [0] => a
    [1] => c
)

array_splice()는 배열의 지정된 요소를 해제하는 unset() 함수와 동일한 효과를 갖습니다.

2. 배열의 여러 요소 삭제

배열의 여러 요소를 삭제하려면 unset() 또는 array_splice() 함수를 사용할 수 없습니다. array_diff() 또는 array_diff_key()를 사용해야 합니다. method , 이 방법을 사용하려면 삭제할 키나 값을 알아야 합니다.

1.array_diff() 메소드

삭제하려는 배열 요소를 알고 있다면 array_diff()를 사용할 수 있습니다.

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff($array, ["a", "c"]);
                          //└────────┘→你要删除的元素
print_r($array );
?>

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

Array
(
    [1] => b
)

2.array_diff_key() method

삭제하려는 배열 요소의 키를 알고 있다면 array_diff_key()를 사용할 수 있습니다. 함수의 2번째 파라미터의 키값 위치에 삭제할 키를 입력해야 합니다. 해당 값은 필수는 아니며 선택사항일 수 있습니다.

<?php
$array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff_key($array, [0 => "xy", "2" => "xy"]);
                               //↑           ↑ 你要删除的数组键
print_r($array);
?>

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

Array (
    [1] => b
)

관련 학습 권장 사항: 초보부터 마스터까지 PHP 프로그래밍

위 내용은 PHP 배열에서 중복 요소를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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