라이브러리
[PHP] OuterIterator::getInnerIterator - 현재 항목의 내부 반복자를 반환합니다.
OuterIterator::getInnerIterator
OuterIterator는 PHP의 IteratorAggregate 인터페이스를 구현한 클래스입니다. 이 인터페이스는 Iterator를 반환하는 `getIterator()` 메서드를 정의합니다. OuterIterator는 이 인터페이스를 구현하여 Iterator를 반환하는 메서드를 제공합니다.
OuterIterator::getInnerIterator은 OuterIterator의 인스턴스에서 InnerIterator를 반환하는 메서드입니다. InnerIterator는 OuterIterator의 인스턴스에 대한 Iterator입니다.
예제
#hostingforum.kr
php
class MyOuterIterator implements OuterIterator
{
private $data;
public function __construct(array $data)
{
$this->data = $data;
}
public function getInnerIterator()
{
return new MyInnerIterator($this->data);
}
}
class MyInnerIterator implements InnerIterator
{
private $data;
private $index;
public function __construct(array $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 = ['apple', 'banana', 'cherry'];
$outerIterator = new MyOuterIterator($data);
$innerIterator = $outerIterator->getInnerIterator();
foreach ($innerIterator as $item) {
echo $item . "
";
}
결과
#hostingforum.kr
apple
banana
cherry
위 예제에서, MyOuterIterator는 OuterIterator를 구현한 클래스입니다. MyOuterIterator의 인스턴스는 getInnerIterator 메서드를 호출하여 MyInnerIterator를 반환합니다. MyInnerIterator는 InnerIterator를 구현한 클래스입니다. MyInnerIterator의 인스턴스는 Iterator를 구현한 클래스입니다.
위 예제에서, OuterIterator의 인스턴스는 foreach 문을 사용하여 Iterator를 반복합니다. foreach 문은 InnerIterator의 인스턴스를 사용하여 Iterator를 반복합니다. 이 예제는 OuterIterator::getInnerIterator 메서드의 사용을 보여줍니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.