배열 array_reduce
(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)
array_reduce — 콜백 함수를 사용하여 반복적으로 배열을 단일 값으로 줄입니다.
설명
array_reduce(array $array
, callable $callback
, mixed $initial
= null
): mixed
array_reduce()는 배열을 단일 값으로 줄이기 위해 array
의 요소에 callback
함수를 반복적으로 적용합니다.
매개변수
array
- 입력 배열입니다.
callback
-
callback(mixed
$carry
, mixed$item
): mixedcarry
- 이전 반복의 반환 값을 유지합니다. 첫 번째 반복의 경우 대신
initial
값을 유지합니다. item
- 현재 반복의 값을 유지합니다.
initial
- 선택적
initial
을 사용할 수 있는 경우 프로세스 시작 시 또는 배열이 비어 있는 경우 최종 결과로 사용됩니다.
반환 값
결과 값을 반환합니다.
배열이 비어 있고 initial
이 전달되지 않으면 array_reduce()는 null
을 반환합니다.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | callback 에서 매개변수가 참조로 전달될 것으로 예상하는 경우 이 함수는 이제 E_WARNING 을 내보냅니다. |
Examples
예제 #1 array_reduce() 예제
<?php
function sum($carry, $item)
{
$carry += $item;
return $carry;
}
function product($carry, $item)
{
$carry *= $item;
return $carry;
}
$a = array(1, 2, 3, 4, 5);
$x = array();
var_dump(array_reduce($a, "sum")); // int(15)
var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5
var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"
?>
기타
- array_filter() - 콜백 함수를 사용하여 배열의 요소를 필터링합니다.
- array_map() - 주어진 배열의 요소에 콜백을 적용합니다.
- array_unique() - 배열에서 중복 값을 제거합니다.
- array_count_values() - 배열의 모든 값을 셉니다.