PHP 사전 정의 인터페이스의 반복자 사용 예

coldplay.xixi
풀어 주다: 2023-04-09 08:06:01
앞으로
1893명이 탐색했습니다.

PHP 사전 정의 인터페이스의 반복자 사용 예

이 문서의 예에서는 PHP 사전 정의 인터페이스의 Iterator 사용법을 설명합니다. 다음과 같이 참조용으로 모든 사람과 공유하세요.

Iterator 인터페이스

내부적으로 자체 외부 반복자 또는 클래스 인터페이스를 반복할 수 있습니다.

인터페이스 요약

Iterator extends Traversable {
    /* 方法 */
    abstract public current ( void ) : mixed
    abstract public key ( void ) : scalar
    abstract public next ( void ) : void
    abstract public rewind ( void ) : void
    abstract public valid ( void ) : bool
}
로그인 후 복사

예:

<?php
class myIterator implements Iterator
{
  private $position = 0;
  private $array = array(
    &#39;first_element&#39;,
    &#39;second_element&#39;,
    &#39;last_element&#39;,
  );

  /**
   * 重置键的位置
   */
  public function rewind(): void
  {
    var_dump(__METHOD__);
    $this->position = 0;
  }

  /**
   * 返回当前元素
   */
  public function current()
  {
    var_dump(__METHOD__);
    return $this->array[$this->position];
  }

  /**
   * 返回当前元素的键
   * @return int
   */
  public function key(): int
  {
    var_dump(__METHOD__);
    return $this->position;
  }

  /**
   * 将键移动到下一位
   */
  public function next(): void
  {
    var_dump(__METHOD__);
    ++$this->position;
  }

  /**
   * 判断键所在位置的元素是否存在
   * @return bool
   */
  public function valid(): bool
  {
    var_dump(__METHOD__);
    return isset($this->array[$this->position]);
  }
}

$it = new myIterator;

foreach ($it as $key => $value) {
  var_dump($key, $value);
  echo "\n";
}
로그인 후 복사

출력 결과:

string 'myIterator::rewind' (길이=18)
string 'myIterator::valid' (길이=17)
string 'myIterator:: current' (길이=19)
string 'myIterator::key' (길이=15)
int 0
string 'first_element' (길이=13)
string 'myIterator::next' (길이=16)
string 'myIterator ::valid' (길이=17)
string 'myIterator::current' (길이=19)
string 'myIterator::key' (길이=15)
int 1
string 'second_element' (길이=14)
string 'myIterator::next' (길이=16)
string 'myIterator::valid' (길이=17)
string 'myIterator::current' (길이=19)
string 'myIterator::key' (길이=15)
int 2
string 'last_element' (길이=12)
string 'myIterator::next' (길이=16)
string 'myIterator::valid' (길이=17)

결과에서 알 수 있는 것은 클래스가 구현되면 Iterator 인터페이스는 클래스 인스턴스 데이터 세트를 구현할 때 먼저 데이터 세트의 키를 재설정한 다음 점차적으로 뒤로 이동하며 매번 현재 요소와 현재 키를 반환합니다.

관련 학습 권장 사항: 초보부터 마스터까지 PHP 프로그래밍

위 내용은 PHP 사전 정의 인터페이스의 반복자 사용 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:jb51.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!