라이브러리
[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 인터페이스를 구현합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.