array_filter 함수
함수 array_filter는 지정된 함수를 사용하여
배열을 필터링합니다. 함수 매개변수에 배열 요소들이
순차적으로 전달되며, 해당 요소에 대해 함수가
true를 반환하면 요소는 배열에 남고,
false를 반환하면 제거됩니다. 배열에는 함수가
true를 반환하는 요소들만 남게 됩니다.
원본 배열이 연관 배열인 경우, 그 키는 유지됩니다.
구문
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
예제
배열에서 양수 요소들만 남겨보겠습니다:
<?php
function func($num)
{
if ($num >= 0) {
return true;
} else {
return false;
}
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
코드 실행 결과:
[1, 2, 3]
예제
조건을 간소화해보겠습니다:
<?php
function func($num)
{
return $num >= 0;
}
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, 'func');
var_dump($res);
?>
코드 실행 결과:
[1, 2, 3]
예제
익명 함수로 변경해보겠습니다:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, function($num) {
return $num >= 0;
});
var_dump($res);
?>
코드 실행 결과:
[1, 2, 3]
예제
화살표 함수로 변경해보겠습니다:
<?php
$arr = [1, -1, 2, -2, 3, -3];
$res = array_filter($arr, fn($num) => $num >= 0);
var_dump($res);
?>
코드 실행 결과:
[1, 2, 3]
함께 보기
-
함수
array_map,
배열 요소에 함수를 적용하는 함수 -
함수
array_walk,
배열 요소에 대해 함수를 호출하는 함수 -
함수
array_walk_recursive,
재귀적으로 배열 요소에 대해 함수를 호출하는 함수 -
함수
array_reduce,
배열을 축소하는 함수