【php預定義介面】迭代器

不言
發布: 2023-03-23 19:12:01
原創
1148 人瀏覽過

這篇文章分享的內容是【php預定義介面】迭代器,現在分享給大家,有需要的朋友可以參考一下本篇文章的內容

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?>
登入後複製
登入後複製

           

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板