라이브러리
[PHP] DsSequence::reduce - 콜백 함수를 사용하여 시퀀스를 단일 값으로 줄입니다.
DsSequence::reduce
PHP 7.4 버전부터 도입된 `DsSequence::reduce` 메소드는 배열의 모든 요소를 하나의 값으로 축약하는 데 사용됩니다. 이 메소드는 `reduce` 함수와 유사하지만, `DsSequence` 클래스의 메소드이므로 배열을 인수로 받습니다.
# 사용법
`DsSequence::reduce` 메소드는 다음과 같은 형식으로 사용됩니다.
#hostingforum.kr
php
DsSequence::reduce($callback, $initial = null)
* `$callback`: 축약을 수행하는 콜백 함수입니다. 이 함수는 두 개의 인수를 받습니다: `$carry` (현재까지 축약된 값)와 `$current` (현재 요소).
* `$initial`: 초기값입니다. 축약을 수행할 때 `$carry`에 할당됩니다. 기본값은 `null`입니다.
# 예제
다음 예제는 `DsSequence::reduce` 메소드를 사용하여 배열의 모든 요소를 더하는 방법을 보여줍니다.
#hostingforum.kr
php
use function Dsarray_from_iterable;
use function Dssequence;
$numbers = [1, 2, 3, 4, 5];
$sequence = sequence($numbers);
$result = $sequence->reduce(function ($carry, $current) {
return $carry + $current;
});
echo $result; // 15
이 예제에서, `$sequence`는 `DsSequence` 객체입니다. `reduce` 메소드는 콜백 함수를 호출하여 `$carry`와 `$current`를 인수로 받습니다. `$carry`는 현재까지 축약된 값 (`0`이 초기값입니다), `$current`는 현재 요소 (`1`, `2`, `3`, `4`, `5` 순서로)입니다. 콜백 함수는 `$carry`와 `$current`를 더하여 `$carry`를 업데이트합니다. 최종적으로 `$carry`는 배열의 모든 요소를 더한 결과 (`15`)가 됩니다.
# 초기값 사용
다음 예제는 `DsSequence::reduce` 메소드를 사용하여 배열의 모든 요소를 더하는 방법을 보여줍니다. 이 예제에서는 초기값 (`10`)을 사용합니다.
#hostingforum.kr
php
use function Dsarray_from_iterable;
use function Dssequence;
$numbers = [1, 2, 3, 4, 5];
$sequence = sequence($numbers);
$result = $sequence->reduce(function ($carry, $current) {
return $carry + $current;
}, 10);
echo $result; // 25
이 예제에서, `$sequence`는 `DsSequence` 객체입니다. `reduce` 메소드는 콜백 함수를 호출하여 `$carry`와 `$current`를 인수로 받습니다. `$carry`는 초기값 (`10`), `$current`는 현재 요소 (`1`, `2`, `3`, `4`, `5` 순서로)입니다. 콜백 함수는 `$carry`와 `$current`를 더하여 `$carry`를 업데이트합니다. 최종적으로 `$carry`는 배열의 모든 요소를 더한 결과 (`25`)가 됩니다.
# 참고
`DsSequence::reduce` 메소드는 배열의 모든 요소를 하나의 값으로 축약하는 데 사용됩니다. 이 메소드는 `reduce` 함수와 유사하지만, `DsSequence` 클래스의 메소드이므로 배열을 인수로 받습니다. 초기값을 사용할 수 있으며, 콜백 함수를 사용하여 축약을 수행할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.