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

PHP에서 여러 배열 요소를 삭제하는 방법

PHPz
풀어 주다: 2023-04-19 09:44:38
원래의
730명이 탐색했습니다.

배열 요소를 삭제하는 것은 PHP에서 일반적인 작업입니다. 일반적으로 배열 요소만 삭제하면 되며 unset() 함수를 사용하여 작업할 수 있습니다. 그러나 여러 배열 요소를 삭제하려면 다른 것이 필요합니다.

이 글에서는 다양한 방법을 사용하여 여러 배열 요소를 삭제하는 방법을 소개합니다.

방법 1: unset 및 foreach 루프 사용

이것은 가장 일반적인 방법 중 하나입니다. foreach 루프를 사용하여 삭제할 모든 배열 키 값을 반복하고 unset() 함수를 사용하여 삭제할 수 있습니다.

예:

$myArray = array('apple', 'banana', 'orange', 'pear', 'kiwi', 'watermelon');

$keysToDelete = array(1, 3, 5);

foreach($keysToDelete as $key){
    unset($myArray[$key]);
}

print_r($myArray);
로그인 후 복사

출력 결과:

Array
(
    [0] => apple
    [2] => orange
    [4] => kiwi
)
로그인 후 복사
로그인 후 복사
로그인 후 복사

방법 2: array_diff_key()

array_diff_key() 함수를 사용하여 두 배열의 키 값을 비교하고 서로 다른 키 값을 가진 집합으로 구성된 배열을 반환합니다.

삭제하려는 키 값만 포함된 배열과 원본 배열을 비교한 후 반환된 결과를 사용하여 새 배열을 만들 수 있습니다.

예:

$myArray = array('apple', 'banana', 'orange', 'pear', 'kiwi', 'watermelon');

$keysToDelete = array(1, 3, 5);

$newArray = array_diff_key($myArray, array_flip($keysToDelete));

print_r($newArray);
로그인 후 복사

출력 결과:

Array
(
    [0] => apple
    [2] => orange
    [4] => kiwi
)
로그인 후 복사
로그인 후 복사
로그인 후 복사

이 예에서는 array_diff_key() 함수에 배열이 필요하기 때문에 array_flip() 함수를 사용하여 $keysToDelete 배열의 키 값을 키 이름으로 변환합니다. 키 이름이 포함되어 있습니다.

방법 3: array_filter() 사용

array_filter() 함수는 배열의 요소를 필터링하는 데 사용됩니다. 이를 사용하여 삭제할 키 값을 필터링하고 새 배열을 만들 수 있습니다.

예:

$myArray = array('apple', 'banana', 'orange', 'pear', 'kiwi', 'watermelon');

$keysToDelete = array(1, 3, 5);

$newArray = array_filter($myArray, function($key) use ($keysToDelete){
    return !in_array($key, $keysToDelete);
}, ARRAY_FILTER_USE_KEY);

print_r($newArray);
로그인 후 복사

출력 결과:

Array
(
    [0] => apple
    [2] => orange
    [4] => kiwi
)
로그인 후 복사
로그인 후 복사
로그인 후 복사

이 예에서는 익명 함수를 array_filter()의 두 번째 매개변수로 사용합니다. 이는 반환 값이 true인 요소를 배열에 유지합니다. 그렇지 않으면 필터링됩니다. in_array() 함수를 사용하여 삭제할 배열에 해당 요소의 키 값이 있는지 확인하고, 없으면 true를 반환합니다.

결론

PHP에서는 여러 배열 요소를 삭제하는 방법이 여러 가지가 있는데, 실제 상황에 따라 어떤 방법을 사용할지 선택할 수 있습니다. 이 기사에서는 unset 및 foreach 루프 사용, array_diff_key() 함수 사용, array_filter() 함수 사용이라는 세 가지 일반적인 방법을 소개합니다.

이러한 방법은 여러 배열 요소를 삭제하는 문제를 잘 해결할 수 있습니다. 그러나 unset() 함수를 사용하면 배열 키가 재정렬될 수 있으므로 키 순서를 유지해야 하는 경우 다른 방법을 사용해야 합니다.

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

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