
ArrayIterator::valid 메서드는 ArrayIterator가 현재 데이터를 참조하고 있는지 여부를 확인하는 메서드입니다. 이 메서드는 ArrayIterator가 이미 끝까지 이동한 상태일 때 false를 반환합니다. ArrayIterator는 끝까지 이동한 후에는 더이상 데이터를 참조하지 않기 때문입니다.
ArrayIterator는 IteratorAggregate 인터페이스를 구현한 ArrayObject의 내부 구현체입니다. 이 인터페이스에 정의된 rewind 메서드를 호출하면 ArrayIterator는 처음부터 다시 시작할 수 있습니다. 이때, valid 메서드는 true를 반환합니다.
#hostingforum.kr
php
$array = [1, 2, 3];
$iterator = new ArrayIterator($array);
echo $iterator->valid(); // true
while ($iterator->valid()) {
echo $iterator->current();
$iterator->next();
}
echo $iterator->valid(); // false
$iterator->rewind();
echo $iterator->valid(); // true
2025-04-19 15:26