📄 iterator_007.phpt
字号:
--TEST--SPL: NoRewindIterator--SKIPIF--<?php if (!extension_loaded("spl")) print "skip"; ?>--FILE--<?phpclass ArrayIteratorEx extends ArrayIterator{ function rewind() { echo __METHOD__ . "\n"; parent::rewind(); } function valid() { echo __METHOD__ . "\n"; return parent::valid(); } function current() { echo __METHOD__ . "\n"; return parent::current(); } function key() { echo __METHOD__ . "\n"; return parent::key(); } function next() { echo __METHOD__ . "\n"; parent::next(); }}class NoRewindIteratorEx extends NoRewindIterator{ function rewind() { echo __METHOD__ . "\n"; parent::rewind(); } function valid() { echo __METHOD__ . "\n"; return parent::valid(); } function current() { echo __METHOD__ . "\n"; return parent::current(); } function key() { echo __METHOD__ . "\n"; return parent::key(); } function next() { echo __METHOD__ . "\n"; parent::next(); }}$it = new NoRewindIteratorEx(new ArrayIteratorEx(range(0,3)));echo "===0===\n";foreach ($it->getInnerIterator() as $v) { var_dump($v);}echo "===1===\n";foreach ($it as $v) { var_dump($v);}$pos =0;$it = new NoRewindIteratorEx(new ArrayIteratorEx(range(0,3)));echo "===2===\n";foreach ($it as $v) { var_dump($v); if ($pos++ > 1) { break; }}echo "===3===\n";foreach ($it as $v) { var_dump($v);}echo "===4===\n";foreach ($it as $v) { var_dump($v);}?>===DONE===<?php exit(0); ?>--EXPECT--===0===ArrayIteratorEx::rewindArrayIteratorEx::validArrayIteratorEx::currentint(0)ArrayIteratorEx::nextArrayIteratorEx::validArrayIteratorEx::currentint(1)ArrayIteratorEx::nextArrayIteratorEx::validArrayIteratorEx::currentint(2)ArrayIteratorEx::nextArrayIteratorEx::validArrayIteratorEx::currentint(3)ArrayIteratorEx::nextArrayIteratorEx::valid===1===NoRewindIteratorEx::rewindNoRewindIteratorEx::validArrayIteratorEx::valid===2===NoRewindIteratorEx::rewindNoRewindIteratorEx::validArrayIteratorEx::validNoRewindIteratorEx::currentArrayIteratorEx::currentint(0)NoRewindIteratorEx::nextArrayIteratorEx::nextNoRewindIteratorEx::validArrayIteratorEx::validNoRewindIteratorEx::currentArrayIteratorEx::currentint(1)NoRewindIteratorEx::nextArrayIteratorEx::nextNoRewindIteratorEx::validArrayIteratorEx::validNoRewindIteratorEx::currentArrayIteratorEx::currentint(2)===3===NoRewindIteratorEx::rewindNoRewindIteratorEx::validArrayIteratorEx::validNoRewindIteratorEx::currentint(2)NoRewindIteratorEx::nextArrayIteratorEx::nextNoRewindIteratorEx::validArrayIteratorEx::validNoRewindIteratorEx::currentArrayIteratorEx::currentint(3)NoRewindIteratorEx::nextArrayIteratorEx::nextNoRewindIteratorEx::validArrayIteratorEx::valid===4===NoRewindIteratorEx::rewindNoRewindIteratorEx::validArrayIteratorEx::valid===DONE===
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -