⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iterator_004.phpt

📁 PHP v6.0 For Linux 运行环境:Win9X/ WinME/ WinNT/ Win2K/ WinXP
💻 PHPT
字号:
--TEST--SPL: SeekableIterator and string keys--SKIPIF--<?php if (!extension_loaded("spl")) print "skip"; ?>--FILE--<?phpclass NumericArrayIterator implements Iterator{	protected $a;	protected $i;	public function __construct($a)	{		echo __METHOD__ . "\n";		$this->a = $a;	}	public function rewind()	{		echo __METHOD__ . "\n";		$this->i = 0;	}	public function valid()	{		$ret = $this->i < count($this->a);		echo __METHOD__ . '(' . ($ret ? 'true' : 'false') . ")\n";		return $ret;	}	public function key()	{		echo __METHOD__ . "\n";		return $this->i;	}	public function current()	{		echo __METHOD__ . "\n";		return $this->a[$this->i];	}	public function next()	{		echo __METHOD__ . "\n";		$this->i++;	}}class SeekableNumericArrayIterator extends NumericArrayIterator implements SeekableIterator{	public function seek($index)	{		if ($index < count($this->a)) {			$this->i = $index;		}		echo __METHOD__ . '(' . $index . ")\n";	}}$a = array(1, 2, 3, 4, 5);foreach (new LimitIterator(new NumericArrayIterator($a), 1, 3) as $v){	print "$v\n";}echo "===SEEKABLE===\n";$a = array(1, 2, 3, 4, 5);foreach(new LimitIterator(new SeekableNumericArrayIterator($a), 1, 3) as $v){	print "$v\n";}echo "===SEEKING===\n";$a = array(1, 2, 3, 4, 5);$l = new LimitIterator(new SeekableNumericArrayIterator($a));for($i = 1; $i < 4; $i++){	$l->seek($i);	print $l->current() . "\n";}?>===DONE===<?php exit(0); ?>--EXPECT--NumericArrayIterator::__constructNumericArrayIterator::rewindNumericArrayIterator::valid(true)NumericArrayIterator::nextNumericArrayIterator::valid(true)NumericArrayIterator::valid(true)NumericArrayIterator::currentNumericArrayIterator::key2NumericArrayIterator::nextNumericArrayIterator::valid(true)NumericArrayIterator::currentNumericArrayIterator::key3NumericArrayIterator::nextNumericArrayIterator::valid(true)NumericArrayIterator::currentNumericArrayIterator::key4NumericArrayIterator::next===SEEKABLE===NumericArrayIterator::__constructNumericArrayIterator::rewindSeekableNumericArrayIterator::seek(1)NumericArrayIterator::valid(true)NumericArrayIterator::currentNumericArrayIterator::key2NumericArrayIterator::nextNumericArrayIterator::valid(true)NumericArrayIterator::currentNumericArrayIterator::key3NumericArrayIterator::nextNumericArrayIterator::valid(true)NumericArrayIterator::currentNumericArrayIterator::key4NumericArrayIterator::next===SEEKING===NumericArrayIterator::__constructSeekableNumericArrayIterator::seek(1)NumericArrayIterator::valid(true)NumericArrayIterator::currentNumericArrayIterator::key2SeekableNumericArrayIterator::seek(2)NumericArrayIterator::valid(true)NumericArrayIterator::currentNumericArrayIterator::key3SeekableNumericArrayIterator::seek(3)NumericArrayIterator::valid(true)NumericArrayIterator::currentNumericArrayIterator::key4===DONE===

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -