라이브러리
[PHP] FilterIterator::next - 반복자를 앞으로 이동합니다.
FilterIterator::next() 메서드
`FilterIterator`는 `Iterator` 인터페이스를 구현한 클래스로, 원본 컬렉션에서 특정 조건에 맞는 요소를 필터링하여 반환하는 기능을 제공합니다. `next()` 메서드는 필터링된 다음 요소를 반환합니다.
# 사용법
`FilterIterator`를 사용하기 위해서는 원본 컬렉션과 필터링 조건이 필요합니다. 원본 컬렉션은 `ArrayIterator`나 `IteratorAggregate`를 구현한 클래스를 사용할 수 있습니다. 필터링 조건은 `FilterIterator`의 생성자에 전달할 수 있습니다.
# 예제
#hostingforum.kr
php
// 원본 컬렉션
$numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// 필터링 조건:偶수만 필터링
$evenFilter = new class($numbers) extends FilterIterator {
public function accept() {
return $this->current() % 2 === 0;
}
};
// 필터링된 컬렉션
foreach ($evenFilter as $number) {
echo $number . "
";
}
# 예제 설명
위 예제에서는 `FilterIterator`를 사용하여 원본 컬렉션에서偶수만 필터링합니다. `FilterIterator`의 생성자에 원본 컬렉션을 전달하고, `accept()` 메서드를 오버라이딩하여 필터링 조건을 정의합니다. `foreach` 문을 사용하여 필터링된 컬렉션을 반복합니다.
# 필터링 조건의 예
#hostingforum.kr
php
// 필터링 조건: 3의 배수만 필터링
$multipleOfThreeFilter = new class($numbers) extends FilterIterator {
public function accept() {
return $this->current() % 3 === 0;
}
};
// 필터링된 컬렉션
foreach ($multipleOfThreeFilter as $number) {
echo $number . "
";
}
# 필터링 조건의 설명
위 예제에서는 `FilterIterator`를 사용하여 원본 컬렉션에서 3의 배수만 필터링합니다. `accept()` 메서드를 오버라이딩하여 필터링 조건을 정의합니다. `foreach` 문을 사용하여 필터링된 컬렉션을 반복합니다.
# 필터링 조건의 예
#hostingforum.kr
php
// 필터링 조건: 문자열 길이가 3 이상인 요소만 필터링
$longStringFilter = new class($numbers) extends FilterIterator {
public function accept() {
return is_string($this->current()) && strlen($this->current()) >= 3;
}
};
// 필터링된 컬렉션
foreach ($longStringFilter as $number) {
echo $number . "
";
}
# 필터링 조건의 설명
위 예제에서는 `FilterIterator`를 사용하여 원본 컬렉션에서 문자열 길이가 3 이상인 요소만 필터링합니다. `accept()` 메서드를 오버라이딩하여 필터링 조건을 정의합니다. `foreach` 문을 사용하여 필터링된 컬렉션을 반복합니다.
결론
`FilterIterator`는 원본 컬렉션에서 특정 조건에 맞는 요소를 필터링하여 반환하는 기능을 제공합니다. 필터링 조건은 `FilterIterator`의 생성자에 전달할 수 있습니다. `FilterIterator`를 사용하여 원본 컬렉션에서 다양한 조건에 맞는 요소를 필터링할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.