array_fill
array_flip
배열 함수 목록
PHP Manual

# array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter — 콜백 함수를 사용하여 배열 원소를 필터

### 설명

array array_filter ( array `$input` [, callback `$callback` ] )

array_filter()는 `input` 배열안의 각값에 `callback` 함수에 전달하는 작업을 반복한다. `callback` 함수가 true를 반환하면, `input` 의 현재값이 결과 배열로 반환된다. 배열 키들은 보존된다.

### 인수

`input`

  반복할 배열

`callback`

  사용할 콜백 함수

  `callback` 을 지정하지 않으면, `input` 에서 `FALSE`와 같은(논리형으로 변환 참고) 모든 원소는 제거됩니다.

### 반환값

필터한 배열을 반환합니다.

### 예제

Example #1 array_filter() 예제

`<?php
function odd($var)
{
return ($var & 1);
}
function even($var) {
return (!($var & 1));
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "홀수:\n";
print_r(array_filter($array1, "odd"));
echo "짝수:\n";
print_r(array_filter($array2, "even"));
?>`

위 예제의 출력:

    Odd :
    Array
    (
        [a] => 1
        [c] => 3
        [e] => 5
    )
    Even:
    Array
    (
        [0] => 6
        [2] => 8
        [4] => 10
        [6] => 12
    )

Example #2 `callback` 없는 array_filter()

`<?php
$entry = array(
0 => 'foo',
1 => 'false',
2 => -1,
3 => null,
4 => ''
);
print_r(array_filter($entry));
?>`

위 예제의 출력:

    Array
    (
        [0] => foo
        [1] => -1
    )

### 주의

Caution

콜백 함수에서 배열을 변경할 때(원소 추가, 삭제, unset 등), 이 함수의 동작은 정의되지 않습니다.

### 참고

- array_map() - Applies the callback to the elements of the given arrays
- array_reduce() - 콜백 함수를 사용하여 배열을 반복적으로 단일 값으로 축소
- array_walk() - 배열의 각 원소에 대해서 특정 함수를 적용

array_fill
array_flip
배열 함수 목록
PHP Manual