>백엔드 개발 >PHP 문제 >PHP에서 배열의 요소를 제거하는 방법

PHP에서 배열의 요소를 제거하는 방법

王林
王林원래의
2021-05-12 15:52:023645검색

PHP가 배열에서 요소를 제거하는 방법은 unset 함수를 사용하여 [unset($array[index]);]와 같은 배열 요소를 제거하는 것입니다. 요소가 삭제된 후에도 원래 인덱스는 변경되지 않습니다.

PHP에서 배열의 요소를 제거하는 방법

이 기사의 운영 환경: windows10 시스템, PHP 7.3, thinkpad t480 컴퓨터.

아래 네 가지 방법을 통해 배열에서 요소를 제거할 수 있습니다. 자세한 내용은 아래 코드를 참조하세요.

요소를 삭제하고 원래 인덱스를 변경하지 않고 유지

unset 함수를 사용할 수 있습니다. 예는 다음과 같습니다.

<?php
  $array = array(0 => "a", 1 => "b", 2 => "c");
  unset($array[1]);
        //↑ 你想删除的key
?>

출력:

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

배열의 원래 인덱스를 변경하지 않고 unset을 사용할 수도 있습니다. 인덱스를 다시 정렬하려는 경우(인덱스가 0부터 시작하고 연속되도록) array_values ​​​​함수를 사용할 수 있습니다.

$array = array_values($array);
/*

output

array(2) {
 [0]=>
 string(1) "a"
 [1]=>
 string(1) "c"
}
*/

인덱스를 유지하지 않고 요소 삭제

다음을 사용할 수 있습니다. array_splice 함수의 예는 다음과 같습니다.

<?php
  $array = array(0 => "a", 1 => "b", 2 => "c");
  array_splice($array, 1, 1);
            //↑ 你想删除的元素的Offset
?>

output :

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

여러 요소를 값으로 삭제하고 인덱스를 유지합니다.

array_diff 함수를 사용할 수도 있습니다. 예는 다음과 같습니다.

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

출력:

Array (
    [1] => b
)

unset과 유사하게 array_diff도 인덱스를 유지합니다.

키로 여러 요소 삭제, 인덱스 유지

array_diff_key 함수 사용, 예는 다음과 같습니다.

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

출력:

Array (
    [1] => b
)

설정 해제와 유사하며 array_diff_key도 인덱스를 유지합니다.

무료 학습 영상 공유: 프로그래밍 입문

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

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