라이브러리
[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의 사용법, 예제, 플래그 옵션 등에 대해 자세히 설명했습니다.
댓글목록
등록된 댓글이 없습니다.