라이브러리

[PHP] Iterator::next - 다음 요소로 이동합니다.




Iterator::next() 메서드


Iterator::next() 메서드는 현재 이터레이터의 다음 항목을 반환합니다. 이터레이터는 데이터를 한 번에 하나씩 처리하는 객체입니다. 이터레이터를 사용하여 데이터를 처리할 때, Iterator::next() 메서드를 사용하여 다음 항목을 가져올 수 있습니다.

# Iterator::next() 메서드의 사용법


Iterator::next() 메서드는 다음 항목을 반환합니다. 만약 이터레이터의 끝에 도달했다면, Iterator::next() 메서드는 Exception을 발생시킵니다.

# 예제


#hostingforum.kr
php

class MyIterator implements Iterator {

    private $data;

    private $index;



    public function __construct($data) {

        $this->data = $data;

        $this->index = 0;

    }



    public function rewind() {

        $this->index = 0;

    }



    public function current() {

        return $this->data[$this->index];

    }



    public function key() {

        return $this->index;

    }



    public function next() {

        $this->index++;

    }



    public function valid() {

        return $this->index < count($this->data);

    }

}



$data = array(1, 2, 3, 4, 5);

$iterator = new MyIterator($data);



while ($iterator->valid()) {

    echo $iterator->current() . "
";

    $iterator->next();

}



# 예제 설명


위의 예제에서, MyIterator 클래스는 Iterator 인터페이스를 구현합니다. Iterator::next() 메서드는 현재 항목의 인덱스를 증가시켜 다음 항목을 반환합니다. 만약 인덱스가 데이터의 끝에 도달했다면, Iterator::next() 메서드는 Exception을 발생시키지 않습니다. 대신, while 루프는 종료됩니다.

# IteratorAggregate 인터페이스


IteratorAggregate 인터페이스는 Iterator 인터페이스를 구현하는 객체를 반환하는 메서드를 정의합니다. 예를 들어, ArrayIterator 클래스는 IteratorAggregate 인터페이스를 구현합니다.

#hostingforum.kr
php

$data = array(1, 2, 3, 4, 5);

$iterator = new ArrayIterator($data);



while ($iterator->valid()) {

    echo $iterator->current() . "
";

    $iterator->next();

}



# IteratorAggregate 인터페이스의 사용법


IteratorAggregate 인터페이스를 구현하는 객체는 Iterator::next() 메서드를 사용하여 다음 항목을 가져올 수 있습니다. IteratorAggregate 인터페이스를 구현하는 객체는 Iterator 인터페이스를 구현하지 않아도 됩니다.

# IteratorAggregate 인터페이스의 예제


위의 예제에서, ArrayIterator 클래스는 IteratorAggregate 인터페이스를 구현합니다. ArrayIterator 클래스는 Iterator::next() 메서드를 사용하여 다음 항목을 가져올 수 있습니다.

결론


Iterator::next() 메서드는 현재 이터레이터의 다음 항목을 반환합니다. 이터레이터는 데이터를 한 번에 하나씩 처리하는 객체입니다. 이터레이터를 사용하여 데이터를 처리할 때, Iterator::next() 메서드를 사용하여 다음 항목을 가져올 수 있습니다. IteratorAggregate 인터페이스는 Iterator 인터페이스를 구현하는 객체를 반환하는 메서드를 정의합니다. 예를 들어, ArrayIterator 클래스는 IteratorAggregate 인터페이스를 구현합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색