
ReflectionClass::isIterable 메소드는 iterable 객체를 확인하는 메소드입니다. iterable 객체는 반복 가능한 객체를 의미합니다. 반복 가능한 객체는 foreach 문을 사용하여 반복할 수 있는 객체를 의미합니다.
Person 클래스는 iterable 객체가 아닙니다. Person 클래스는 getName() 메소드를 가지고 있지만, 반복할 수 있는 데이터를 제공하지 않습니다. 따라서 Person 클래스는 반복 가능한 객체가 아닙니다.
반면에, 다음의 예제는 반복 가능한 객체입니다.
#hostingforum.kr
php
class Person {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
public function getIterator() {
return new ArrayIterator([$this->name]);
}
}
위의 Person 클래스는 getName() 메소드와 getIterator() 메소드를 가지고 있습니다. getIterator() 메소드는 반복할 수 있는 데이터를 제공합니다. 따라서 위의 Person 클래스는 반복 가능한 객체입니다.
주의: PHP 7.2 이상부터는 iterable 객체를 확인하기 위해 is_iterable() 함수를 사용할 수 있습니다. ReflectionClass::isIterable 메소드는 사용되지 않습니다.
2025-04-20 18:39