라이브러리
[PHP] EmptyIterator::valid - 현재 요소가 유효한지 확인합니다.
EmptyIterator::valid()
`EmptyIterator`는 PHP 7.1.0 버전부터 지원하는 내장 클래스입니다. 이 클래스는 비어있는 이터레이터를 나타내며, `valid()` 메소드를 사용하여 이터레이터가 비어있는지 확인할 수 있습니다.
`valid()` 메소드는 이터레이터가 현재 위치에 있는 요소를 참조할 수 있는지 확인합니다. 이터레이터가 비어있을 때, `valid()` 메소드는 `false`를 반환합니다.
예제
#hostingforum.kr
php
// 비어있는 이터레이터 생성
$emptyIterator = new EmptyIterator();
// valid() 메소드 호출
var_dump($emptyIterator->valid()); // bool(false)
// 이터레이터에 요소를 추가
$emptyIterator->append('요소1');
$emptyIterator->append('요소2');
// valid() 메소드 호출
var_dump($emptyIterator->valid()); // bool(true)
EmptyIterator 클래스
#hostingforum.kr
php
class EmptyIterator implements Iterator {
private $elements = [];
public function append($element) {
$this->elements[] = $element;
}
public function rewind() {
reset($this->elements);
}
public function current() {
return current($this->elements);
}
public function key() {
return key($this->elements);
}
public function next() {
next($this->elements);
}
public function valid() {
return !empty($this->elements);
}
}
Iterator 인터페이스
#hostingforum.kr
php
interface Iterator {
public function rewind();
public function current();
public function key();
public function next();
public function valid();
}
IteratorAggregate 인터페이스
#hostingforum.kr
php
interface IteratorAggregate {
public function getIterator();
}
예제 2
#hostingforum.kr
php
// 비어있는 이터레이터 생성
$emptyIterator = new EmptyIterator();
// foreach 문을 사용하여 이터레이터를 반복
foreach ($emptyIterator as $key => $value) {
var_dump($key);
var_dump($value);
}
// bool(false)
// bool(false)
// 이터레이터에 요소를 추가
$emptyIterator->append('요소1');
$emptyIterator->append('요소2');
// foreach 문을 사용하여 이터레이터를 반복
foreach ($emptyIterator as $key => $value) {
var_dump($key);
var_dump($value);
}
// int(0)
// string(5) "요소1"
// int(1)
// string(5) "요소2"
이 예제에서는 `EmptyIterator` 클래스를 사용하여 비어있는 이터레이터를 생성하고, `valid()` 메소드를 사용하여 이터레이터가 비어있는지 확인합니다. 또한 `foreach` 문을 사용하여 이터레이터를 반복하고, 이터레이터가 비어있는지 확인합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.