라이브러리
[PHP] Generator::valid - 반복자가 닫혔는지 확인
PHP Generator::valid
PHP Generator는 함수 내에서 반복 가능한 데이터를 생성하는 데 사용되는 기능입니다. Generator는 함수 내에서 데이터를 생성하고, 반복자 객체를 반환합니다. 반복자 객체는 데이터를 한 번에 한 개씩 반환하고, 데이터가 모두 반환되면 종료됩니다.
Generator::valid 메서드는 Generator 객체가 현재 데이터가 있는지 여부를 확인하는 데 사용됩니다. 이 메서드는 boolean 값을 반환합니다. true이면 현재 데이터가 있음을 의미하고, false이면 데이터가 없음을 의미합니다.
예제
#hostingforum.kr
php
function fibonacci() {
$a = 0;
$b = 1;
while (true) {
yield $a;
list($a, $b) = array($b, $a + $b);
}
}
$generator = fibonacci();
// Generator::valid 메서드 사용
echo var_dump($generator->valid()) . "
"; // bool(true)
// 데이터를 한 번에 한 개씩 반환
for ($i = 0; $i < 10; $i++) {
echo $generator->current() . "
";
$generator->next();
echo var_dump($generator->valid()) . "
";
}
이 예제에서는 Generator를 사용하여 피보나치 수열을 생성합니다. Generator::valid 메서드는 현재 데이터가 있는지 여부를 확인합니다. 반복자 객체를 사용하여 데이터를 한 번에 한 개씩 반환합니다.
Generator::valid 메서드의 사용
Generator::valid 메서드는 다음과 같은 상황에서 사용됩니다.
* 데이터가 모두 반환된 후에 메서드를 호출하면 false을 반환합니다.
* 데이터가 아직 반환되지 않은 경우 true을 반환합니다.
* Generator가 종료된 경우 false을 반환합니다.
Generator::valid 메서드의 예시
#hostingforum.kr
php
function numbers() {
for ($i = 0; $i < 10; $i++) {
yield $i;
}
}
$generator = numbers();
echo var_dump($generator->valid()) . "
"; // bool(true)
for ($i = 0; $i < 10; $i++) {
echo $generator->current() . "
";
$generator->next();
echo var_dump($generator->valid()) . "
";
}
echo var_dump($generator->valid()) . "
"; // bool(false)
이 예제에서는 Generator를 사용하여 0부터 9까지의 숫자를 생성합니다. Generator::valid 메서드는 현재 데이터가 있는지 여부를 확인합니다. 반복자 객체를 사용하여 데이터를 한 번에 한 개씩 반환합니다. 데이터가 모두 반환된 후에 메서드를 호출하면 false을 반환합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.