본문 바로가기
PROGRAMMING/PHP

PHP array_filter() 배열 필터링 조건에 맞는 값 추출

by itengineer 2023. 7. 6.
반응형

array_filter() 함수는 PHP에서 사용되는 배열을 필터링하는 함수입니다. 이 함수는 주어진 조건을 만족하는 배열의 요소만 유지하고, 나머지 요소를 제거한 새로운 배열을 반환합니다.

다음은 array_filter() 함수의 구문입니다:


array_filter(array $array [, callable $callback [, int $flag = 0 ]]) : array



- $array: 필터링할 배열입니다.
- $callback (옵션): 요소를 검사하기 위한 콜백 함수입니다. 이 콜백 함수는 선택적으로 사용할 수 있으며, 요소를 테스트하여 조건을 만족하면 true를 반환해야 합니다. 만약 $callback을 지정하지 않으면 배열에서 값이 false로 변환되는 모든 요소가 제거됩니다.
- $flag (옵션): 추가적인 옵션을 지정하는 플래그입니다. 기본값은 0이며, 다른 플래그로 ARRAY_FILTER_USE_KEY와 ARRAY_FILTER_USE_BOTH를 사용할 수 있습니다.

다음은 array_filter() 함수를 사용하여 배열에서 조건에 맞는 요소만 필터링하는 예입니다:

$numbers = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$evenNumbers = array_filter($numbers, function ($value) {
    return $value % 2 == 0;
});

print_r($evenNumbers);




출력:

Array
(
    [1] => 2
    [3] => 4
    [5] => 6
    [7] => 8
    [9] => 10
)




위의 예제에서는 $numbers 배열에서 짝수인 요소만을 필터링하여 $evenNumbers 배열에 저장합니다. 콜백 함수는 $value 매개변수를 받아 해당 요소가 짝수인지를 검사하여 true 또는 false를 반환합니다. array_filter() 함수는 콜백 함수의 반환값이 true인 요소만을 유지하고, 나머지 요소는 제거하여 최종 결과를 반환합니다.

array_filter() 함수를 사용하여 배열을 필터링할 때, 콜백 함수에 추가적인 조건을 지정하거나 ARRAY_FILTER_USE_KEY 또는 ARRAY_FILTER_USE_BOTH 플래그를 사용하여 키(key) 또는 키-값(key-value) 쌍을 기준으로 필터링할 수도 있습니다.

반응형

댓글