array_reduce 함수
array_reduce 함수는 콜백을 사용하여
배열을 단일 값으로 축소(리듀스)합니다.
첫 번째 매개변수로 배열을 받고, 두 번째 매개변수로 배열의 각 요소에 순차적으로 적용될 콜백을 받습니다.
세 번째 선택적 매개변수로는
배열 축소를 시작할 초기값이 들어갑니다.
기본적으로 이 매개변수는
null 값을 가집니다.
콜백 함수는 두 개의 값을 매개변수로 받습니다. 첫 번째 값은 이전 반복의 결과값을 포함합니다. 첫 번째 반복의 경우에는 세 번째 매개변수의 값을 포함합니다.
콜백의 두 번째 값은 현재 배열 요소를 포함합니다.
콜백은 배열의 각 요소에 순차적으로 적용됩니다. 현재 반복에서 콜백이 반환한 값은 다음 반복의 콜백 첫 번째 매개변수로 들어갑니다.
이렇게 콜백이 배열의 각 요소에
순차적으로 적용되어 최종적으로
어떤 값이 생성됩니다.
이 값이 array_reduce 함수의
결과값이 됩니다.
구문
array_reduce(array $array, callable $callback, mixed $initial = null): mixed
예제
배열 요소들의 합을 구해봅시다:
<?php
$arr = [1, 2, 3, 4, 5];
function func($prev, $elem)
{
return $prev + $elem;
}
$res = array_reduce($arr, 'func', 0);
echo $res;
?>
코드 실행 결과:
15
함께 보기
-
함수
array_map,
배열 요소에 함수를 적용합니다 -
함수
array_walk,
배열 요소에 대해 함수를 호출합니다 -
함수
array_filter,
배열을 필터링합니다 -
함수
array_walk_recursive,
배열 요소에 대해 재귀적으로 함수를 호출합니다