
Iterator::current와 Iterator::key는 PHP의 내장 Iterator 인터페이스의 메소드입니다. Iterator::current는 현재 반복 가능한 객체의 현재 값을 반환하고, Iterator::key는 현재 반복 가능한 객체의 현재 키를 반환합니다.
Iterator::current와 Iterator::key가 같은 값을 반환하는 이유는, PHP의 내장 Iterator 인터페이스는 키-값 쌍으로 이루어진 데이터를 반복할 때 사용됩니다. 예를 들어, 배열의 키-값 쌍을 반복할 때, Iterator::current는 키-값 쌍의 값을 반환하고, Iterator::key는 키를 반환합니다.
하지만, 키-값 쌍이 없을 때, 예를 들어, 단순한 배열을 반복할 때, Iterator::current와 Iterator::key는 같은 값을 반환합니다. 이는 Iterator 인터페이스의 구현체가 키-값 쌍을 반복할 때, 키-값 쌍이 없을 때의 동작을 정의하기 때문입니다.
예를 들어, 다음 코드는 단순한 배열을 반복하는 예입니다.
#hostingforum.kr
php
$array = [1, 2, 3];
$iterator = new ArrayIterator($array);
while ($iterator->valid()) {
echo $iterator->current() . ' ' . $iterator->key() . "n";
$iterator->next();
}
이 코드를 실행하면, Iterator::current와 Iterator::key가 같은 값을 반환하는 것을 볼 수 있습니다.
2025-07-15 04:55