>  기사  >  백엔드 개발  >  PHP 배열에서 지정된 키 값을 제거하는 방법

PHP 배열에서 지정된 키 값을 제거하는 방법

PHPz
PHPz원래의
2023-04-24 15:48:481788검색

PHP에서 배열은 매우 일반적인 데이터 유형으로, 일반적으로 관련 데이터 집합을 저장하는 데 사용됩니다. 배열을 처리하다 보면 배열에 지정된 키 값을 제거해야 하는 경우가 있는데, 이는 실제 개발에서 매우 흔한 일입니다. 이 기사에서는 PHP 배열에서 지정된 키 값을 쉽게 제거하는 데 도움이 되는 몇 가지 일반적인 방법을 소개합니다.

방법 1: unset() 함수 사용

unset() 함수는 배열의 키 값을 포함하여 지정된 변수를 삭제할 수 있습니다. 다음 예와 같이 배열을 반복하고 unset() 함수를 사용하여 지정된 키 값을 삭제할 수 있습니다.

// 定义一个数组
$arr = array('apple', 'banana', 'cherry', 'dates');

// 删除指定的键值
unset($arr[1]); // 删除数组中的第二个元素 banana

// 输出数组
print_r($arr);

실행 결과는 다음과 같습니다.

Array
(
    [0] => apple
    [2] => cherry
    [3] => dates
)

방법 2: array_splice() 함수 사용

array_splice( ) 함수는 PHP에서 제공하는 함수로, 배열에 요소를 삽입하거나 삭제하고 삭제된 요소를 반환할 수 있는 배열 연산 함수이다. 다음 예와 같이 이 함수를 사용하여 지정된 키 값을 삭제할 수 있습니다.

// 定义一个数组
$arr = array('apple', 'banana', 'cherry', 'dates');

// 删除指定的键值
array_splice($arr, 1, 1); // 删除数组中的第二个元素 banana

// 输出数组
print_r($arr);

실행 결과는 다음과 같습니다.

Array
(
    [0] => apple
    [1] => cherry
    [2] => dates
)

array_splice() 함수를 사용할 때 첫 번째 매개 변수는 배열이고 두 번째 매개 변수는 삭제할 시작 위치, 세 번째 매개변수는 삭제할 요소의 수를 지정합니다.

방법 3: array_diff() 함수 사용

array_diff() 함수를 사용하면 배열의 차이 집합을 계산할 수 있습니다. 즉, 배열 A에는 있지만 배열 B에는 없는 요소가 포함된 배열을 반환합니다. 하나 이상의 지정된 키 값을 제거하려면 이러한 키 값을 배열로 캡슐화하고 이를 array_diff() 함수의 두 번째 매개변수로 전달할 수 있습니다. 코드는 다음과 같습니다.

// 定义一个数组
$arr = array('apple', 'banana', 'cherry', 'dates');

// 删除指定的键值
$rm_key = array(1); // 要删除的键值 banana
$new_arr = array_diff($arr, array_intersect_key($arr, array_flip($rm_key)));

// 输出数组
print_r($new_arr);

실행 결과는 다음과 같습니다.

Array
(
    [0] => apple
    [2] => cherry
    [3] => dates
)

코드에서는 삭제할 키의 해당 배열을 얻기 위해 array_intersect_key() 함수를 사용하고, 배열의 키 값과 인덱스 위치를 교환하여 해당 키를 얻기 위해 array_flip() 함수를 사용합니다. . 마지막으로 위 작업의 결과를 array_diff() 함수에 매개변수로 전달하여 지정된 키 값을 제거할 수 있습니다.

방법 4: array_filter() 함수 사용

array_filter() 함수를 사용하면 배열 요소를 필터링하고 지정된 조건을 충족하는 요소를 반환할 수 있습니다. 삭제할 키 값을 필터 조건으로 설정하고, array_filter() 함수를 사용하여 지정된 키 값을 제거할 수 있습니다. 코드는 다음과 같습니다.

// 定义一个数组
$arr = array('apple', 'banana', 'cherry', 'dates');

// 删除指定的键值
$rm_key = array(1); // 要删除的键值 banana
$new_arr = array_filter($arr, function($k) use($rm_key) {
    return !in_array($k, $rm_key);
}, ARRAY_FILTER_USE_KEY);

// 输出数组
print_r($new_arr);

실행 결과는

Array
(
    [0] => apple
    [2] => cherry
    [3] => dates
)

코드에서는 array_filter() 함수의 콜백 함수로 익명 함수를 사용하여 삭제할 키 값을 필터링합니다. 그 중 use 키워드는 루프 내에서 $rm_key 변수에 액세스할 수 있도록 외부 변수를 도입하는 데 사용됩니다. ARRAY_FILTER_USE_KEY는 배열의 키를 필터링한다는 의미입니다.

요약하자면, PHP 배열에서 지정된 키 값을 제거하는 네 가지 일반적인 방법인 unset() 함수, array_splice() 함수, array_diff() 함수 및 array_filter() 함수를 도입했습니다. 이 기사가 PHP 배열 관련 작업을 더 잘 처리하는 데 도움이 되기를 바랍니다.

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

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