PHP에서 2차원 배열의 하위 배열을 삭제하는 방법

PHPz
풀어 주다: 2023-04-23 17:55:07
원래의
746명이 탐색했습니다.

PHP 프로그래밍에서는 배열이 자주 사용됩니다. 배열은 순서가 지정된 값 모음으로, 각 값에는 고유한 키가 있습니다. 2차원 배열은 배열의 값도 배열, 즉 배열의 요소도 배열임을 의미합니다. 2차원 배열을 다룰 때 배열의 특정 배열 요소를 삭제해야 하는 경우가 종종 있습니다. 다음으로 PHP에서 2차원 배열의 배열 요소를 삭제하는 방법을 알아보겠습니다.

  1. 지정된 키 이름을 가진 배열 요소 삭제

2차원 배열에서 지정된 키 이름을 가진 배열 요소를 삭제하려면 PHP에서 unset() 함수를 사용할 수 있습니다. 이 함수는 하나 이상의 변수를 매개변수로 받고 해당 변수의 값을 메모리에서 삭제합니다. 배열 요소를 삭제할 때 배열 키 이름을 매개변수로 사용할 수 있습니다. 예는 다음과 같습니다.

$arr = [
    ['id' => 1,'name' => '张三'],
    ['id' => 2,'name' => '李四'],
    ['id' => 3,'name' => '王五']
];
unset($arr[1]);
로그인 후 복사

이 예에서는 $arr 배열에서 키가 1인 배열 요소를 삭제합니다. unset($arr[1])을 실행한 후 $arr의 값은 다음과 같습니다.

[
    ['id' => 1,'name' => '张三'],
    ['id' => 3,'name' => '王五']
]
로그인 후 복사
로그인 후 복사
로그인 후 복사

unset() 함수를 통해 배열의 요소를 삭제할 때 다음 사항에 주의해야 합니다.

  • 배열 요소 삭제 반환 값이 없으면 unset() 함수는 해당 변수의 값을 삭제합니다.
  • 여러 배열 요소를 삭제하려는 경우 unset() 함수 문을 사용하여 여러 변수를 삭제하면 프로그램의 실행 시간과 성능 소모를 줄일 수 있습니다.
  • 배열 요소 앞의 키 이름이 삭제되면 이후의 키 이름은 재정렬되지 않습니다. 즉, 배열에 연속된 정수 키 이름이 있는 경우 중간에 키 이름을 삭제해도 다른 요소의 키 이름은 변경되지 않습니다.
  1. 배열 요소를 삭제하려면 array_splice() 함수를 사용하세요

2차원 배열 요소를 삭제하려면 PHP에서 array_splice() 함수를 제공합니다. array_splice() 함수는 배열의 요소를 삽입, 삭제 및 교체하는 데 사용됩니다. 기본 구문은

array_splice(array,start,length,array)
로그인 후 복사
  • array: 필수입니다. 작업할 원래 배열입니다.
  • 시작: 필수입니다. 요소를 삭제할 위치를 지정합니다.
  • 길이: 선택사항. 삭제할 요소 수를 지정합니다. 생략하면 시작 위치부터 배열 끝까지 모든 요소가 제거됩니다.
  • 배열: 선택 사항입니다. 배열의 시작 위치에 삽입된 요소입니다.

예는 다음과 같습니다.

$arr = [
    ['id' => 1,'name' => '张三'],
    ['id' => 2,'name' => '李四'],
    ['id' => 3,'name' => '王五']
];
array_splice($arr, 1, 1);
로그인 후 복사

이 예에서는 $arr 배열에서 인덱스 1을 가진 배열 요소를 삭제합니다. array_splice($arr, 1, 1)을 실행한 후 $arr의 값은 다음과 같습니다.

[
    ['id' => 1,'name' => '张三'],
    ['id' => 3,'name' => '王五']
]
로그인 후 복사
로그인 후 복사
로그인 후 복사

array_splice() 함수를 통해 2차원 배열의 배열 요소를 삭제할 때 다음 사항에 주의해야 합니다.

  • 요소 삭제 시 삭제 위치와 삭제 수량을 지정해야 합니다. 길이 매개변수가 전달되지 않으면 기본적으로 지정된 위치부터 배열 끝까지의 모든 요소가 삭제됩니다.
  • 요소 삭제 후 원래 배열이 변경될 수 있으니 주의해서 사용하세요. 삭제하려는 요소가 존재하지 않으면 아무 작업도 수행되지 않으며 오류도 발생하지 않습니다.
  • 요소를 삭제하면 인덱스가 다시 정렬됩니다. 먼저 배열을 정렬한 다음 삭제하여 삭제된 배열이 여전히 순서대로 유지되도록 할 수 있습니다.
  1. array_diff() 함수를 사용하여 배열 요소를 삭제하세요

array_diff() 함수는 2차원 배열에서 지정된 배열 요소를 삭제하기 위해 PHP에도 제공됩니다. array_diff() 함수는 둘 이상의 배열 간의 차이를 비교하고 두 배열 간의 차이를 반환하는 데 사용됩니다. 기본 구문은

array_diff(array1,array2,array3...)
로그인 후 복사
  • array1: 필수입니다. 비교할 첫 번째 배열입니다.
  • array2: 필수입니다. 비교할 두 번째 배열입니다.
  • array3...: 선택 사항입니다. 비교해야 하는 다른 배열.

다음은 예시입니다:

$arr = [
    ['id' => 1,'name' => '张三'],
    ['id' => 2,'name' => '李四'],
    ['id' => 3,'name' => '王五']
];
$remove = [
    ['id' => 2,'name' => '李四']
];
$result = array_diff($arr, $remove);
로그인 후 복사

이 예시에서는 $arr 배열과 $remove 배열에서 동일한 배열 요소를 삭제하겠습니다. array_diff($arr, $remove)를 실행한 후, $result 배열은 For:

[
    ['id' => 1,'name' => '张三'],
    ['id' => 3,'name' => '王五']
]
로그인 후 복사
로그인 후 복사
로그인 후 복사

array_diff() 함수를 통해 2차원 배열의 요소를 삭제할 때 다음 사항에 주의해야 합니다.

  • array_diff() 함수는 2차원 배열의 새 배열을 반환합니다. 두 배열의 차이점을 확인하고 새 배열에 두 요소만 유지합니다. 배열의 요소가 다르면 동일한 요소가 삭제됩니다.
  • array_diff() 함수는 요소를 값으로 비교할 수 없으며 키 이름으로만 일치할 수 있으므로 사용 시 배열의 키 이름이 올바른지 확인해야 합니다.
  • 여러 배열의 차이점을 비교해야 하는 경우 여러 배열을 array_diff() 함수에 전달하고 각각 해당 작업을 수행할 수 있습니다.

요약

PHP에서 2차원 배열의 배열 요소를 삭제하는 방법에는 여러 가지가 있습니다. 우리에게 가장 적합한 솔루션을 선택할 수 있습니다. unset() 함수, array_splice() 함수, array_diff() 함수를 사용하여 배열 요소를 삭제하는 경우, 서로 다른 함수와 연산 간의 차이점은 물론 배열 연산, 순서 변경 등의 문제에도 주의해야 합니다. PHP 코드를 작성할 때 특정 사용 시나리오에 따라 2차원 배열 요소를 삭제하는 적절한 방법을 선택하는 것이 좋습니다.

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

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