Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP array_reduce() 함수 완벽 가이드 – 문법, 매개변수, 예제 총정리

PHP의 array_reduce() 함수는 사용자가 직접 정의한 콜백 함수를 이용해 배열의 요소들을 반복적으로 처리하여, 배열 전체를 하나의 값으로 축소(reduce)하는 역할을 합니다. 예를 들어 배열 내 모든 숫자의 합계를 구하거나, 여러 문자열을 하나로 이어붙이는 작업을 간결하게 수행할 수 있습니다.

문법(Syntax)

array_reduce(arr, custom_func, initial)

매개변수(Parameters)

  • arr − 처리 대상이 되는 배열입니다. (필수)
  • custom_func − 배열 요소를 처리할 사용자 정의 함수의 이름입니다. (필수)
  • initial − 연산 시작 시 콜백 함수에 처음으로 전달될 초기값입니다. (선택 사항)

반환값(Return)

array_reduce() 함수는 콜백 함수가 적용된 최종 결과값을 반환합니다. 만약 배열이 비어 있고 초기값(initial)도 전달되지 않았다면 NULL을 반환합니다.

예제 1: 문자열 결합하기

아래 예제에서는 콜백 함수를 사용해 배열 요소와 초기값을 하나의 문자열로 연결합니다.

<?php
function display($a1,$a2) {
   return $a1 . " DEMO " . $a2;
}
$a = array("One","Two");
print_r(array_reduce($a,"display",2));
?>

실행 결과

2 DEMO One DEMO Two

초기값 2에서 시작하여 첫 번째 요소 "One", 그 다음 "Two" 순서로 차례대로 연결된 것을 확인할 수 있습니다.

예제 2: 배열 요소의 합계 구하기

다음 예제에서는 초기값 500을 포함하여 배열에 담긴 모든 요소의 합계를 계산합니다.

<?php
function display($a1,$a2) {
   return $a1 + $a2;
}
$arr = array(50, 100, 150, 200, 250);
print_r(array_reduce($arr,"display",500));
?>

실행 결과

1250

초기값 500에 배열 요소인 50, 100, 150, 200, 250을 모두 더한 결과로 1250이 출력됩니다.

정리

array_reduce() 함수는 배열을 순회하며 누적 연산을 수행해야 할 때 유용하게 활용할 수 있습니다. 합계, 곱셈, 문자열 병합 등 다양한 집계 작업을 짧은 코드로 구현할 수 있다는 점이 큰 장점입니다.