
ReflectionClass::isIterable 메소드는 객체가 이터러블 객체인지 여부를 확인합니다. 이터러블 객체는 foreach 문을 사용하여 반복할 수 있는 객체를 말합니다.
isIterable 메소드는 다음 조건을 만족하는 경우 true를 반환합니다.
- 객체가 Array 또는 Traversable 인터페이스를 implements 한 경우
- 객체가 IteratorAggregate 인터페이스를 implements 한 경우
- 객체가 SplObjectStorage 인스턴스인 경우
반면, 다음 경우 false를 반환합니다.
- 객체가 위의 조건을 만족하지 않는 경우
예를 들어, 다음 코드는 Array 인스턴스를 생성하고 ReflectionClass::isIterable 메소드를 호출하여 결과를 확인합니다.
#hostingforum.kr
php
$array = [1, 2, 3];
$reflectionClass = new ReflectionClass('Array');
echo $reflectionClass->isIterable() ? 'true' : 'false'; // true
$array = new stdClass();
$reflectionClass = new ReflectionClass('stdClass');
echo $reflectionClass->isIterable() ? 'true' : 'false'; // false
이 예제에서 Array 인스턴스는 이터러블 객체이므로 ReflectionClass::isIterable 메소드는 true를 반환합니다. 반면, stdClass 인스턴스는 이터러블 객체이므로 ReflectionClass::isIterable 메소드는 false를 반환합니다.
2025-05-21 16:33