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

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

coldplay.xixi
coldplay.xixi원래의
2020-07-23 13:23:062534검색

PHP에서 배열의 요소를 제거하는 방법: 1. unset 함수를 사용하여 요소를 삭제하고 원래 인덱스를 변경하지 않고 유지합니다. 2. [array_splice] 함수를 사용하여 인덱스를 유지하지 않고 요소를 삭제합니다. array_diff] 인덱스를 유지하면서 값별로 여러 요소를 제거하는 함수입니다.

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

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

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

unset 함수를 사용하세요. 예는 다음과 같습니다. 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"}
*/

2、删除一个元素,不保持索引

使用 array_splice 函数,示例如下:

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

输出:

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

3、按值删除多个元素,保持索引

使用array_diff函数,示例如下:

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

输出:

Array (
    [1] => b
)

与 unset 类似,array_diff 也将保持索引。

4、按键删除多个元素,保持索引

使用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
)

与 unset 类似,array_diff_key rrreee

출력:
rrreee

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

2. 인덱스를 유지하지 않고 요소를 삭제하세요
🎜🎜. array_splice 함수를 사용하세요. 예는 다음과 같습니다: 🎜rrreee🎜출력: 🎜rrreee🎜🎜3. 인덱스를 유지하면서 여러 요소를 값별로 삭제합니다. 🎜🎜🎜array_diff를 사용하세요. 함수의 예는 다음과 같습니다. 🎜rrreee🎜출력: 🎜rrreee🎜설정 해제와 유사하게 array_diff도 인덱스를 유지합니다. 🎜🎜🎜4. 키로 여러 요소를 삭제하고 인덱스를 유지합니다. 🎜🎜🎜array_diff_key 함수를 사용합니다. 예는 다음과 같습니다. 🎜rrreee🎜출력: 🎜rrreee🎜unset과 유사, array_diff_key 인덱스도 유지됩니다. 🎜🎜🎜관련 학습 권장 사항: 🎜초보부터 마스터까지 PHP 프로그래밍🎜🎜🎜

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

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