> 백엔드 개발 > PHP 문제 > PHP에서 배열 요소를 삭제하는 기능은 무엇입니까?

PHP에서 배열 요소를 삭제하는 기능은 무엇입니까?

王林
풀어 주다: 2023-03-06 11:22:01
원래의
3972명이 탐색했습니다.

PHP에서 배열 요소를 삭제하는 함수는 다음과 같습니다. 1. unset() 함수 2. array_splice() 함수 3. array_diff() 함수;

PHP에서 배열 요소를 삭제하는 기능은 무엇입니까?

특정 방법:

(권장 튜토리얼: mysql 튜토리얼)

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

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);
로그인 후 복사

출력

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
)
로그인 후 복사
로그인 후 복사

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 training

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

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