라이브러리
[PHP] IteratorIterator::rewind - 첫 번째 요소로 되감기
IteratorIterator::rewind
IteratorIterator는 PHP의 내장 클래스 중 하나로, 다른 이터레이터를 감싸서 새로운 이터레이터를 생성하는 역할을 합니다. 이터레이터를 사용하면 데이터를 한 번에 한 단위씩 접근할 수 있습니다.
IteratorIterator::rewind는 이터레이터를 처음부터 다시 시작하도록 합니다. 이 메서드는 이터레이터의 현재 위치를 처음부터 다시 시작하도록 설정합니다. 이터레이터의 현재 위치는 0으로 설정됩니다.
예제
#hostingforum.kr
php
// 예제 1: 이터레이터를 처음부터 다시 시작하기
$numbers = array(1, 2, 3, 4, 5);
$iterator = new ArrayIterator($numbers);
$rewindIterator = new IteratorIterator($iterator);
echo "초기 위치: " . $rewindIterator->key() . "
";
echo "초기 값: " . $rewindIterator->current() . "
";
$rewindIterator->rewind();
echo "재시작 후 위치: " . $rewindIterator->key() . "
";
echo "재시작 후 값: " . $rewindIterator->current() . "
";
예제 설명
이 예제에서는 ArrayIterator를 사용하여 1부터 5까지의 숫자를 이터레이터로 생성합니다. 그다음 IteratorIterator를 사용하여 새로운 이터레이터를 생성합니다. 이터레이터의 현재 위치를 출력하고, 이터레이터의 현재 값을 출력합니다. 그다음 IteratorIterator::rewind를 호출하여 이터레이터의 현재 위치를 처음부터 다시 시작합니다. 재시작 후 이터레이터의 현재 위치와 값이 출력됩니다.
예제 결과
#hostingforum.kr
초기 위치: 0
초기 값: 1
재시작 후 위치: 0
재시작 후 값: 1
IteratorIterator::rewind 사용 시 주의점
IteratorIterator::rewind를 사용할 때 주의할 점은 이터레이터의 현재 위치를 처음부터 다시 시작하므로, 이터레이터의 현재 위치를 사용하는 코드는 재시작 후에도 작동하지 않을 수 있다는 것입니다. 예를 들어, 이터레이터의 현재 위치를 사용하여 데이터를 삭제하거나 수정하는 코드는 재시작 후에도 작동하지 않을 수 있습니다.
IteratorIterator::rewind 사용 예
IteratorIterator::rewind는 이터레이터를 처음부터 다시 시작하므로, 이터레이터를 사용하여 데이터를 삭제하거나 수정하는 코드에서 사용할 수 있습니다. 예를 들어, 이터레이터를 사용하여 데이터를 삭제하거나 수정하는 코드에서 IteratorIterator::rewind를 호출하여 이터레이터의 현재 위치를 처음부터 다시 시작할 수 있습니다.
#hostingforum.kr
php
// 예제 2: 이터레이터를 사용하여 데이터 삭제
$numbers = array(1, 2, 3, 4, 5);
$iterator = new ArrayIterator($numbers);
$rewindIterator = new IteratorIterator($iterator);
$rewindIterator->rewind();
while ($rewindIterator->valid()) {
if ($rewindIterator->current() % 2 == 0) {
$rewindIterator->next();
$rewindIterator->offsetUnset();
} else {
$rewindIterator->next();
}
}
print_r($numbers);
예제 설명
이 예제에서는 ArrayIterator를 사용하여 1부터 5까지의 숫자를 이터레이터로 생성합니다. 그다음 IteratorIterator를 사용하여 새로운 이터레이터를 생성합니다. 이터레이터의 현재 위치를 처음부터 다시 시작하고, 이터레이터를 사용하여 데이터를 삭제합니다. 이터레이터의 현재 위치가 짝수인 경우, 이터레이터의 현재 위치를 삭제합니다. 이터레이터의 현재 위치가 홀수인 경우, 이터레이터의 현재 위치를 다음으로 이동합니다.
예제 결과
#hostingforum.kr
php
Array
(
[0] => 1
[2] => 3
[4] => 5
)
IteratorIterator::rewind 사용 시 주의점
IteratorIterator::rewind를 사용할 때 주의할 점은 이터레이터의 현재 위치를 처음부터 다시 시작하므로, 이터레이터의 현재 위치를 사용하는 코드는 재시작 후에도 작동하지 않을 수 있다는 것입니다. 예를 들어, 이터레이터의 현재 위치를 사용하여 데이터를 삭제하거나 수정하는 코드는 재시작 후에도 작동하지 않을 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.