라이브러리

[PHP] EmptyIterator::next - next() 메서드




EmptyIterator::next()

PHP 7.3 버전부터 `EmptyIterator` 클래스가 추가되었습니다. 이 클래스는 `Iterator` 인터페이스를 구현한 클래스로, 이터레이터를 생성할 때 사용할 수 있습니다. `EmptyIterator` 클래스는 이터레이터의 `next()` 메서드를 호출할 때 오류를 발생시키지 않도록 하기 위해 사용됩니다.

EmptyIterator::next() 메서드

`EmptyIterator::next()` 메서드는 이터레이터의 현재 위치를 다음 위치로 이동시킵니다. 이터레이터가 이미 마지막 위치에 있는 경우, 메서드는 `InvalidArgumentError` 예외를 발생시킵니다.

예제

#hostingforum.kr
php

// EmptyIterator 클래스를 사용하여 이터레이터를 생성합니다.

$iterator = new EmptyIterator();



// 이터레이터의 next() 메서드를 호출합니다.

try {

    $iterator->next();

} catch (InvalidArgumentError $e) {

    echo "이터레이터가 이미 마지막 위치에 있습니다.";

}



// 이터레이터의 current() 메서드를 호출합니다.

try {

    echo $iterator->current();

} catch (InvalidArgumentError $e) {

    echo "이터레이터가 이미 마지막 위치에 있습니다.";

}



EmptyIterator 클래스 구현

#hostingforum.kr
php

class EmptyIterator implements Iterator {

    public function rewind() {

        // 이터레이터의 현재 위치를 초기화합니다.

    }



    public function current() {

        // 이터레이터의 현재 값을 반환합니다.

        return null;

    }



    public function key() {

        // 이터레이터의 현재 키를 반환합니다.

        return null;

    }



    public function next() {

        // 이터레이터의 현재 위치를 다음 위치로 이동시킵니다.

        throw new InvalidArgumentError("이터레이터가 이미 마지막 위치에 있습니다.");

    }



    public function valid() {

        // 이터레이터의 현재 위치가 유효한지 여부를 반환합니다.

        return false;

    }

}



결론

`EmptyIterator::next()` 메서드는 이터레이터의 현재 위치를 다음 위치로 이동시키는 메서드입니다. 이터레이터가 이미 마지막 위치에 있는 경우, 메서드는 `InvalidArgumentError` 예외를 발생시킵니다. `EmptyIterator` 클래스를 사용하여 이터레이터를 생성할 때, 이 메서드를 호출할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 588 페이지

검색

게시물 검색