>  기사  >  백엔드 개발  >  배열 요소를 삭제하는 네 가지 PHP 메서드에 대한 자세한 설명

배열 요소를 삭제하는 네 가지 PHP 메서드에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-06-24 09:33:021414검색

회향콩에 "fennel"이라는 단어를 쓰는 방법에는 네 가지가 있고, PHP의 배열에서 요소를 삭제하는 방법도 네 가지가 있습니다.

요소를 삭제하고 원본 index을 변경하지 않고 유지

unset

function을 사용하세요. 예는 다음과 같습니다.

<?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);
/*
输出
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
?>

출력 :

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
)

Similar to 설정하지 않으면 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으로 문의하세요.