라이브러리

[PHP] array_filter - 콜백 함수를 사용하여 배열의 요소를 필터링합니다.




PHP에서 Array Filter란?


PHP의 `array_filter` 함수는 배열 내의 요소를 필터링하여 새로운 배열을 반환하는 함수입니다. 이 함수는 배열 내의 요소를 검사하여 특정 조건을 만족하는 요소만 새로운 배열에 포함시킵니다.

Array Filter의 사용법


`array_filter` 함수는 다음과 같은 형식으로 사용할 수 있습니다.

#hostingforum.kr
php

array_filter(array $array, callable $callback, int $flag = 0, mixed $arg = null)



- `$array`: 필터링할 배열
- `$callback`: 필터링 조건을 정의하는 함수
- `$flag`: 옵션 플래그 (기본값은 0)
- `$arg`: 옵션 플래그에 따라 전달할 인수 (기본값은 null)

예제 1: 짝수 필터링


#hostingforum.kr
php

$array = [1, 2, 3, 4, 5, 6];



$callback = function($value) {

    return $value % 2 == 0;

};



$filteredArray = array_filter($array, $callback);



print_r($filteredArray);



출력:

#hostingforum.kr
php

Array

(

    [1] => 2

    [3] => 4

    [5] => 6

)



예제 2: 이름이 'John' 인 사람 필터링


#hostingforum.kr
php

$people = [

    ['name' => 'John', 'age' => 25],

    ['name' => 'Jane', 'age' => 30],

    ['name' => 'John', 'age' => 35],

];



$callback = function($person) {

    return $person['name'] == 'John';

};



$filteredPeople = array_filter($people, $callback);



print_r($filteredPeople);



출력:

#hostingforum.kr
php

Array

(

    [0] => Array

        (

            [name] => John

            [age] => 25

        )



    [2] => Array

        (

            [name] => John

            [age] => 35

        )



)



예제 3: 이름이 'John' 인 사람 필터링 (함수 사용)


#hostingforum.kr
php

$people = [

    ['name' => 'John', 'age' => 25],

    ['name' => 'Jane', 'age' => 30],

    ['name' => 'John', 'age' => 35],

];



$filteredPeople = array_filter($people, function($person) {

    return $person['name'] == 'John';

});



print_r($filteredPeople);



출력:

#hostingforum.kr
php

Array

(

    [0] => Array

        (

            [name] => John

            [age] => 25

        )



    [2] => Array

        (

            [name] => John

            [age] => 35

        )



)



Array Filter의 플래그 옵션


`array_filter` 함수에는 플래그 옵션을 사용하여 필터링의 동작을 변경할 수 있습니다.

- `ARRAY_FILTER_USE_KEY`: `$key` 인수를 사용하여 필터링 조건을 정의합니다.
- `ARRAY_FILTER_USE_BOTH`: `$value`와 `$key` 인수를 모두 사용하여 필터링 조건을 정의합니다.

예제 4: 이름이 'John' 인 사람 필터링 (ARRAY_FILTER_USE_KEY)


#hostingforum.kr
php

$people = [

    ['name' => 'John', 'age' => 25],

    ['name' => 'Jane', 'age' => 30],

    ['name' => 'John', 'age' => 35],

];



$filteredPeople = array_filter($people, function($key) {

    return $people[$key]['name'] == 'John';

}, ARRAY_FILTER_USE_KEY);



print_r($filteredPeople);



출력:

#hostingforum.kr
php

Array

(

    [0] => 0

    [2] => 2

)



예제 5: 이름이 'John' 인 사람 필터링 (ARRAY_FILTER_USE_BOTH)


#hostingforum.kr
php

$people = [

    ['name' => 'John', 'age' => 25],

    ['name' => 'Jane', 'age' => 30],

    ['name' => 'John', 'age' => 35],

];



$filteredPeople = array_filter($people, function($key, $value) {

    return $value['name'] == 'John';

}, ARRAY_FILTER_USE_BOTH);



print_r($filteredPeople);



출력:

#hostingforum.kr
php

Array

(

    [0] => Array

        (

            [name] => John

            [age] => 25

        )



    [2] => Array

        (

            [name] => John

            [age] => 35

        )



)



Array Filter는 배열 내의 요소를 필터링하여 새로운 배열을 반환하는 함수입니다. 이 함수는 배열 내의 요소를 검사하여 특정 조건을 만족하는 요소만 새로운 배열에 포함시킵니다. Array Filter의 사용법, 예제, 플래그 옵션 등에 대해 자세히 설명했습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 597 페이지

검색

게시물 검색