ホームページ  >  記事  >  バックエンド開発  >  [php 定義済みインターフェイス] イテレータ

[php 定義済みインターフェイス] イテレータ

不言
不言オリジナル
2018-04-14 09:04:481105ブラウズ

この記事で共有されているコンテンツは [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 定義済み変数メソッド


以上が[php 定義済みインターフェイス] イテレータの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。