> 백엔드 개발 > PHP 문제 > PHP는 배열에서 지정된 값을 제거합니다

PHP는 배열에서 지정된 값을 제거합니다

王林
풀어 주다: 2023-05-07 13:37:11
원래의
559명이 탐색했습니다.

인터넷의 급속한 발전과 함께 웹사이트 개발이 더욱 주목을 받고 있습니다. 인터넷 분야에서 널리 사용되는 스크립트 언어로서 PHP 언어는 뛰어난 기능과 ​​특징을 많이 가지고 있습니다. 그 중에서도 배열의 연산 역시 PHP에서 매우 중요한 기능입니다. 그러나 실제 개발에서는 배열에서 지정된 특정 값을 제거해야 하는 경우가 종종 있는데, 이를 PHP에서 어떻게 구현해야 할까요? 이 기사에서는 PHP의 배열에서 지정된 값을 제거하는 방법을 자세히 소개합니다.

방법 1: array_diff 함수 사용

array_diff() 함수는 배열의 차이 집합을 계산하는 데 사용할 수 있는 PHP의 매우 실용적인 함수입니다. 이 함수는 두 개 이상의 배열을 인수로 받아들이고 후속 배열에는 나타나지 않는 첫 번째 배열의 값 세트를 반환합니다. 이 기능을 사용하면 하나 이상의 지정된 값을 쉽게 제거할 수 있습니다.

다음은 샘플 코드입니다.

// 定义一个数组
$fruits = array('apple', 'banana', 'peach', 'orange', 'pear');
// 定义要剔除的值
$remove_fruits = array('peach', 'orange');
 
// 使用array_diff函数剔除指定的值
$new_fruits = array_diff($fruits, $remove_fruits);
 
// 输出新的数组
print_r($new_fruits);
로그인 후 복사

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

Array
(
    [0] => apple
    [1] => banana
    [2] => pear
)
로그인 후 복사

보시다시피 array_diff 함수를 사용하여 원래 배열에서 지정한 두 값을 성공적으로 제거했습니다.

방법 2: foreach 루프 사용

PHP에 내장된 함수를 사용하는 것 외에도 foreach 루프를 사용하여 배열을 순회하고 지정된 값을 제거할 수도 있습니다. 구체적인 작업은 다음과 같습니다.

//定义一个数组
$fruits = array('apple', 'banana', 'peach', 'orange', 'pear');
 
// 定义要剔除的值
$remove_fruits = array('peach', 'orange');
 
// 遍历数组,剔除指定的值
foreach ($fruits as $key => $fruit) {
    if (in_array($fruit, $remove_fruits)) {
        unset($fruits[$key]);
    }
}
 
// 输出新的数组
print_r($fruits);
로그인 후 복사

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

Array
(
    [0] => apple
    [1] => banana
    [4] => pear
)
로그인 후 복사

foreach 루프를 사용하여 작업하면 코드 가독성과 유지 관리성이 향상될 수 있습니다. 동시에 PHP 버전 7.4 이상에서는 단순화를 위해 화살표 함수를 사용할 수도 있습니다.

//定义一个数组
$fruits = array('apple', 'banana', 'peach', 'orange', 'pear');
 
// 定义要剔除的值
$remove_fruits = array('peach', 'orange');
 
// 使用箭头函数剔除指定的值
$fruits = array_filter($fruits, fn($fruit) => !in_array($fruit, $remove_fruits));
 
// 输出新的数组
print_r($fruits); 
로그인 후 복사

실행 결과는 위와 동일합니다. 이 함수는 지원하기 위해 키 이름과 키 값을 전달하는 콜백 함수도 지원합니다. 더 높은 수준의 필터링 작업.

요약

배열에서 지정된 값을 제거하는 것은 PHP 언어에서 일반적인 작업입니다. 이 함수는 이 기사에서 소개한 두 가지 방법을 통해 쉽게 구현할 수 있습니다. 첫 번째는 원하지 않는 요소를 필터링하기 위해 두 배열 간의 차이를 계산하는 array_diff 함수를 사용하는 것입니다. 두 번째는 foreach 루프를 사용하여 배열을 순회하고 루프에서 삭제 작업을 수행한 후 마지막으로 요구 사항을 충족하는 배열을 출력하는 것입니다. 두 가지 방법 모두 장단점이 있으므로 실제 상황에 따라 적절한 방법을 선택해야 합니다.

물론 array_filter, array_udiff 또는 사용자 정의 콜백 함수와 같은 내장 함수를 사용하는 등 배열 필터링 작업을 구현하는 다른 방법이 있습니다. 간단히 말해서, PHP의 배열에서 지정된 값을 제거하는 방법에는 여러 가지가 있습니다. 핵심은 최상의 효과를 얻기 위해 실제 필요에 따라 적절한 방법을 선택하는 것입니다.

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

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