
MultipleIterator의 key() 메소드는 현재 반복 중인 배열 인덱스를 반환합니다. 그러나 각 배열의 인덱스는 독립적으로 처리됩니다.
예를 들어, 첫 번째 반복에서 key() 메소드는 첫 번째 배열의 인덱스인 0을 반환합니다. 두 번째 반복에서는 두 번째 배열의 인덱스인 0을 반환하고, 세 번째 반복에서는 세 번째 배열의 인덱스인 0을 반환합니다.
이러한 동작은 MultipleIterator가 각 배열을 독립적으로 처리하기 때문에 발생합니다.
만약 각 배열의 인덱스를 함께 처리하고 싶다면, ArrayIterator의 key() 메소드를 사용하여 각 배열의 인덱스를 얻을 수 있습니다.
예를 들어, 다음과 같은 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$multipleIterator = new MultipleIterator();
$multipleIterator->attachIterator(new ArrayIterator([1, 2, 3]));
$multipleIterator->attachIterator(new ArrayIterator(['a', 'b', 'c']));
$multipleIterator->attachIterator(new ArrayIterator([true, false, true]));
foreach ($multipleIterator as $value) {
print_r($value);
echo "n";
echo $multipleIterator->key() . "n"; // 현재 반복 중인 배열 인덱스를 출력
}
이 코드에서는 각 배열의 인덱스를 함께 처리하고, 현재 반복 중인 배열 인덱스를 출력합니다.
2025-03-07 11:28