현재 위치: > 최신 기사 목록> 다중 조건 필터링 : Array_Filter ()에서 여러 판단을 구현하는 방법

다중 조건 필터링 : Array_Filter ()에서 여러 판단을 구현하는 방법

M66 2025-06-03

PHP에서 array_filter ()는 주어진 콜백 함수에 따라 배열을 필터링하는 데 사용할 수있는 매우 실용적인 기능입니다. 일반적으로 기준을 충족하지 않는 배열에서 요소를 삭제하는 데 사용됩니다. 오늘날 우리는 PHP에서 Array_Filter ()를 사용하여 여러 필터를 구현하는 방법을 다룰 것입니다.

Array_Filter () 기본 사용

먼저 Array_Filter () 함수의 기본 사용법을 살펴 보겠습니다. Array_Filter ()는 배열과 콜백 함수의 두 매개 변수를 수신합니다. 콜백 함수는 배열의 각 요소를 판단하며 조건을 충족하는 요소 만 유지됩니다.

 <?php
$array = [1, 2, 3, 4, 5];
$result = array_filter($array, function($value) {
    return $value > 2;
});
print_r($result);
?>

출력 결과는 다음과 같습니다.

 Array
(
    [2] => 3
    [3] => 4
    [4] => 5
)

이 예에서 array_filter ()는 콜백 함수의 판단 조건에 따라 2보다 큰 요소를 유지합니다.

여러 필터링 조건을 구현합니다

2보다 큰 필터링 요소와 같은 여러 필터링 조건을 구현하려면 콜백 기능에서 && (및) 논리 연산자를 사용하여 여러 조건을 결합 할 수 있습니다.

 <?php
$array = [1, 2, 3, 4, 5, 6, 7, 8];
$result = array_filter($array, function($value) {
    return $value > 2 && $value % 2 === 0;
});
print_r($result);
?>

출력 결과는 다음과 같습니다.

 Array
(
    [3] => 4
    [5] => 6
    [7] => 8
)

이 예에서는 array_filter ()가 2보다 큰 모든 요소를 ​​필터링합니다.

사용자 정의 기능을 사용하는 여러 필터

필터 기준이 복잡하거나 필터 로직을 재사용하려면 여러 필터 기준을 사용자 정의 기능으로 캡슐화 할 수 있습니다.

 <?php
function filterConditions($value) {
    return $value > 2 && $value % 2 === 0 && $value < 8;
}

$array = [1, 2, 3, 4, 5, 6, 7, 8];
$result = array_filter($array, 'filterConditions');
print_r($result);
?>

출력 결과는 다음과 같습니다.

 Array
(
    [3] => 4
    [5] => 6
)

이 예에서는 필터 로직을 FilterConditions () 함수로 추출하여 array_filter () 에서 호출합니다. 이것은 코드를 더 명확하게 만들뿐만 아니라 논리 재사용을 용이하게합니다.

다른 배열 함수와 결합합니다

때로는 다른 배열 기능을 결합하여보다 복잡한 필터링 작업을 완료해야 할 수도 있습니다. 예를 들어, 여러 기준을 충족하는 배열에서 요소를 걸러 내고 필터링 된 결과를 특정 순서로 반환해야한다고 가정하면 먼저 Array_Map ()을 사용하여 배열을 변환 한 다음 Array_Filter ()를 사용하여 필터를 사용할 수 있습니다.

 <?php
$array = [1, 2, 3, 4, 5, 6, 7, 8];
$array = array_map(function($value) {
    return $value * 2;  // 모든 요소를 ​​곱합니다 2
}, $array);

$result = array_filter($array, function($value) {
    return $value > 5;  // 보다 크게 걸러냅니다 5 강요
});
print_r($result);
?>

출력 결과는 다음과 같습니다.

 Array
(
    [2] => 6
    [4] => 10
    [6] => 14
    [7] => 16
)

이 예에서는 먼저 Array_Map ()을 사용하여 배열에서 요소를 변환 한 다음 Array_Filter ()를 사용하여 5보다 큰 요소를 필터링합니다.

요약

Array_Filter () 는 PHP의 매우 강력한 도구로 특정 조건에 따라 어레이에서 요소를 필터링하는 데 도움이됩니다. Array_Filter ()를 사용할 때는 여러 조건을 결합하고 사용자 정의 기능을 사용하여보다 복잡한 필터링 요구 사항을 달성 할 수 있습니다. 또한 Array_Filter ()는 다른 배열 함수와 함께 사용될 수 있으므로 배열을보다 유연하고 효율적으로 수행 할 수 있습니다.