この記事で共有されているコンテンツは [php 定義済みインターフェイス] イテレーターです。必要な友達はこの記事の内容を参照できます
イテレーター (イテレーター) インターフェイス
概要: 内部反復で利用可能です。独自の外部イテレータまたはクラスへのインターフェイスを介して。
具体的な関数の説明
インターフェースの概要:
Iterator extends Traversable { /* 方法 */ abstract public mixed current ( void ) abstract public scalar key ( void ) abstract public void next ( void ) abstract public void rewind ( void ) abstract public bool valid ( void ) }
例:
Example #1 基本用法(使用 foreach 时,迭代器方法的调用顺序)<?phpclass myIterator implements Iterator { private $position = 0; private $array = array( "firstelement", "secondelement", "lastelement", ); public function __construct() { $this->position = 0; } function rewind() { var_dump(__METHOD__); $this->position = 0; } function current() { var_dump(__METHOD__); return $this->array[$this->position]; } function key() { var_dump(__METHOD__); return $this->position; } function next() { var_dump(__METHOD__); ++$this->position; } function valid() { var_dump(__METHOD__); return isset($this->array[$this->position]); } }$it = new myIterator;foreach($it as $key => $value) { var_dump($key, $value); echo "\n"; }1.rewind -> valid -> current -> key 2.next -> valid -> current -> key3.next -> valid -> current -> key4.next -> valid?>
Iterator (イテレーター) インターフェース
概要: 独自の外部イテレーターまたはクラスを内部で反復処理できるインターフェース。
特定の関数の説明
インターフェースの概要:
Iterator extends Traversable { /* 方法 */ abstract public mixed current ( void ) abstract public scalar key ( void ) abstract public void next ( void ) abstract public void rewind ( void ) abstract public bool valid ( void ) }
例:
Example #1 基本用法(使用 foreach 时,迭代器方法的调用顺序)<?phpclass myIterator implements Iterator { private $position = 0; private $array = array( "firstelement", "secondelement", "lastelement", ); public function __construct() { $this->position = 0; } function rewind() { var_dump(__METHOD__); $this->position = 0; } function current() { var_dump(__METHOD__); return $this->array[$this->position]; } function key() { var_dump(__METHOD__); return $this->position; } function next() { var_dump(__METHOD__); ++$this->position; } function valid() { var_dump(__METHOD__); return isset($this->array[$this->position]); } }$it = new myIterator;foreach($it as $key => $value) { var_dump($key, $value); echo "\n"; }1.rewind -> valid -> current -> key 2.next -> valid -> current -> key3.next -> valid -> current -> key4.next -> valid?>
関連推奨事項:
以上が[php 定義済みインターフェイス] イテレータの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。