라이브러리
[PHP] DsSet::reduce - 콜백 함수를 사용하여 세트를 단일 값으로 줄입니다.
DsSet::reduce란?
PHP 7.4 버전부터 도입된 `DsSet` 클래스는 집합(set) 데이터 구조를 제공합니다. 집합은 중복된 원소가 없는 데이터 구조입니다. `DsSet` 클래스의 `reduce` 메서드는 집합의 원소들을 하나의 값으로 축약하는 메서드입니다.
DsSet::reduce 메서드의 사용법
`reduce` 메서드는 콜백 함수를 인수로 받습니다. 콜백 함수는 집합의 원소들을 하나씩 처리하여 결과 값을 반환합니다. 콜백 함수의 첫 번째 인수는 집합의 현재 축약된 값, 두 번째 인수는 집합의 현재 원소입니다.
예제
다음 예제는 집합의 원소들을 모두 더하는 예제입니다.
#hostingforum.kr
php
use function SplDoublyLinkedListset;
$set = set([1, 2, 3, 4, 5]);
$result = $set->reduce(function ($carry, $item) {
return $carry + $item;
});
echo $result; // 출력: 15
위 예제에서 `set` 함수를 사용하여 집합을 생성하고, `reduce` 메서드를 호출하여 집합의 원소들을 모두 더합니다. 콜백 함수는 집합의 현재 축약된 값 `$carry`와 집합의 현재 원소 `$item`을 인수로 받습니다.
예제 2
다음 예제는 집합의 원소들을 모두 곱하는 예제입니다.
#hostingforum.kr
php
use function SplDoublyLinkedListset;
$set = set([1, 2, 3, 4, 5]);
$result = $set->reduce(function ($carry, $item) {
return $carry * $item;
});
echo $result; // 출력: 120
위 예제에서 콜백 함수는 집합의 현재 축약된 값 `$carry`와 집합의 현재 원소 `$item`을 인수로 받습니다. 집합의 원소들을 모두 곱하여 결과 값을 반환합니다.
예제 3
다음 예제는 집합의 원소들을 모두 연결하는 예제입니다.
#hostingforum.kr
php
use function SplDoublyLinkedListset;
$set = set(['a', 'b', 'c']);
$result = $set->reduce(function ($carry, $item) {
return $carry . $item;
});
echo $result; // 출력: abc
위 예제에서 콜백 함수는 집합의 현재 축약된 값 `$carry`와 집합의 현재 원소 `$item`을 인수로 받습니다. 집합의 원소들을 모두 연결하여 결과 값을 반환합니다.
결론
`DsSet::reduce` 메서드는 집합의 원소들을 하나의 값으로 축약하는 메서드입니다. 콜백 함수를 인수로 받으며, 집합의 현재 축약된 값과 집합의 현재 원소를 인수로 받습니다. 예제를 통해 집합의 원소들을 모두 더하는, 곱하는, 연결하는 방법을 살펴보았습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.