本文主要介绍了PHP迭代器接口Iterator用法,结合实例形式分析了PHP迭代器接口Iterator的概念、功能、定义与使用方法,需要的朋友可以参考下,希望能帮助到大家。
PHP Iterator接口的作用是允许对象以自己的方式迭代内部的数据,从而使它可以被循环访问,Iterator接口摘要如下:
1 2 3 4 5 6 7 8 9 10 11 12 | 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 )
}
|
Salin selepas log masuk
下面是一个简单的例子演示Iterator的使用方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | <?php
class TestIterator implements Iterator {
private $_test = array ('dog', 'cat', 'pig');
private $_key = 0;
private $_step = 0;
public function rewind () {
echo '第'.++ $this ->_step.'步:执行 '. __METHOD__ .'<br>';
$this ->_key = 0;
}
public function valid() {
echo '第'.++ $this ->_step.'步:执行 '. __METHOD__ .'<br>';
return isset( $this ->_test[ $this ->_key]);
}
public function next() {
echo '第'.++ $this ->_step.'步:执行 '. __METHOD__ .'<br>';
$this ->_key++;
}
public function current() {
echo '第'.++ $this ->_step.'步:执行 '. __METHOD__ .'<br>';
return $this ->_test[ $this ->_key];
}
public function key() {
echo '第'.++ $this ->_step.'步:执行 '. __METHOD__ .'<br>';
return $this ->_key;
}
}
$iterator = new TestIterator();
foreach ( $iterator as $key => $value ){
echo "输出索引为{$key}的元素" . ":$value" .'<br><br>';
}
?>
|
Salin selepas log masuk
以上例子将输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 第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
|
Salin selepas log masuk
相关推荐:
JavaScript ES6语法中iterator与for...of循环的示例详解
Java中关于迭代器Iterator的详解
分享Iterator与iterator接口的实例代码
Atas ialah kandungan terperinci 实例分享PHP迭代器接口Iterator用法分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!