라이브러리

[PHP] NoRewindIterator::valid - 반복자를 검증합니다.




NoRewindIterator::valid


PHP의 `NoRewindIterator`는 `Iterator` 인터페이스를 구현한 클래스입니다. 이 클래스는 데이터를 반복적으로 접근할 때, 데이터를 다시 읽을 수 없도록 하는 iterator를 제공합니다. `NoRewindIterator`는 `Iterator` 인터페이스의 `valid()` 메서드를 오버라이딩하여, 데이터가 현재 위치에 있는지 확인하는 기능을 제공합니다.

# valid() 메서드


`valid()` 메서드는 현재 위치에 데이터가 있는지 확인하는 메서드입니다. 이 메서드는 boolean 값을 반환하며, 데이터가 현재 위치에 있으면 `true`를, 없으면 `false`를 반환합니다.

# 예제


#hostingforum.kr
php

// 예제를 위한 데이터

$data = array(1, 2, 3, 4, 5);



// NoRewindIterator를 사용하여 데이터를 반복적으로 접근

$iterator = new ArrayIterator($data);

$noRewindIterator = new NoRewindIterator($iterator);



// valid() 메서드를 사용하여 현재 위치에 데이터가 있는지 확인

echo $noRewindIterator->valid() ? 'true' : 'false'; // true



// 데이터를 읽어옵니다.

echo $noRewindIterator->current(); // 1



// 데이터를 읽어온 후, valid() 메서드를 사용하여 현재 위치에 데이터가 있는지 확인

echo $noRewindIterator->valid() ? 'true' : 'false'; // true



// 데이터를 읽어온 후, next() 메서드를 사용하여 다음 데이터로 이동

$noRewindIterator->next();



// valid() 메서드를 사용하여 현재 위치에 데이터가 있는지 확인

echo $noRewindIterator->valid() ? 'true' : 'false'; // true



// 데이터를 읽어옵니다.

echo $noRewindIterator->current(); // 2



// 데이터를 읽어온 후, valid() 메서드를 사용하여 현재 위치에 데이터가 있는지 확인

echo $noRewindIterator->valid() ? 'true' : 'false'; // true



# 결과


#hostingforum.kr


true

1

true

2

true



# 설명


위 예제에서, `NoRewindIterator`를 사용하여 데이터를 반복적으로 접근합니다. `valid()` 메서드를 사용하여 현재 위치에 데이터가 있는지 확인하고, 데이터를 읽어옵니다. 데이터를 읽어온 후, `next()` 메서드를 사용하여 다음 데이터로 이동하고, `valid()` 메서드를 사용하여 현재 위치에 데이터가 있는지 확인합니다.

`NoRewindIterator`는 데이터를 다시 읽을 수 없도록 하기 때문에, 데이터를 읽어온 후, `valid()` 메서드를 사용하여 현재 위치에 데이터가 있는지 확인할 때, `true`를 반환합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 371 페이지

검색

게시물 검색