PHP迭代器介面Iterator用法的分析

jacklove
發布: 2023-04-02 12:40:02
原創
1559 人瀏覽過

這篇文章主要介紹了PHP迭代器介面Iterator用法,結合實例形式分析了PHP迭代器介面Iterator的概念、功能、定義與使用方法,需要的朋友可以參考下

本文實例講述了PHP迭代器介面Iterator用法。分享給大家供大家參考,具體如下:

PHP Iterator接口的作用是允許對像以自己的方式迭代內部的數據,從而使它可以被循環訪問,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 boolean valid ( void )
}
登入後複製

以下是一個簡單的範例示範Iterator的使用方法:

_step.'步:执行 '.__METHOD__.'
'; $this->_key = 0; } /** * 判断当前索引游标指向的元素是否设置 * * @see TestIterator::valid() * @return bool */ public function valid() { echo '第'.++$this->_step.'步:执行 '.__METHOD__.'
'; return isset($this->_test[$this->_key]); } /** * 将当前索引指向下一位置 * * @see TestIterator::next() */ public function next() { echo '第'.++$this->_step.'步:执行 '.__METHOD__.'
'; $this->_key++; } /** * 返回当前索引游标指向的元素的值 * * @see TestIterator::current() * @return value */ public function current() { echo '第'.++$this->_step.'步:执行 '.__METHOD__.'
'; return $this->_test[$this->_key]; } /** * 返回当前索引值 * * @return key * @see TestIterator::key() */ public function key() { echo '第'.++$this->_step.'步:执行 '.__METHOD__.'
'; return $this->_key; } } $iterator = new TestIterator(); foreach($iterator as $key => $value){ echo "输出索引为{$key}的元素".":$value".'

'; } ?>
登入後複製

以上範例會輸出:

第1步:执行 TestIterator::rewind
第2步:执行 TestIterator::valid
第3步:执行 TestIterator::current
第4步:执行 TestIterator::key
输出索引为0的元素:dog
第5步:执行 TestIterator::next
第6步:执行 TestIterator::valid
第7步:执行 TestIterator::current
第8步:执行 TestIterator::key
输出索引为1的元素:cat
第9步:执行 TestIterator::next
第10步:执行 TestIterator::valid
第11步:执行 TestIterator::current
第12步:执行 TestIterator::key
输出索引为2的元素:pig
第13步:执行 TestIterator::next
第14步:执行 TestIterator::valid
登入後複製

從上述例子可以看出,如果執行valid回傳false,則迴圈就此結束。

您可能感興趣的文章:

PHP聚合式迭代器介面IteratorAggregate的用法分析

PHP偵測介面Traversable的用法詳解

PHP自訂序列化介面Serializable用法分析解說

PHP 的Opcache加速的使用方法詳解

以上是PHP迭代器介面Iterator用法的分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!