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

📄 iterator_031.phpt

📁 PHP v6.0 For Linux 运行环境:Win9X/ WinME/ WinNT/ Win2K/ WinXP
💻 PHPT
字号:
--TEST--SPL: AppendIterator::append() rewinds when neccessary--SKIPIF--<?php if (!extension_loaded("spl")) print "skip"; ?>--FILE--<?phpclass MyArrayIterator extends ArrayIterator{	function rewind()	{		echo __METHOD__ . "\n";		parent::rewind();	}}$it = new MyArrayIterator(array(1,2));foreach($it as $k=>$v){	echo "$k=>$v\n";}class MyAppendIterator extends AppendIterator{	function __construct()	{		echo __METHOD__ . "\n";	}	function rewind()	{		echo __METHOD__ . "\n";		parent::rewind();	}	function valid()	{		echo __METHOD__ . "\n";		return parent::valid();	}		function append(Iterator $what)	{		echo __METHOD__ . "\n";		parent::append($what);	}		function parent__construct()	{		parent::__construct();	}}$ap = new MyAppendIterator;try{	$ap->append($it);}catch(BadMethodCallException $e){	echo $e->getMessage() . "\n";}$ap->parent__construct();try{	$ap->parent__construct($it);}catch(BadMethodCallException $e){	echo $e->getMessage() . "\n";}$ap->append($it);$ap->append($it);$ap->append($it);foreach($ap as $k=>$v){	echo "$k=>$v\n";}?>===DONE===<?php exit(0); ?>--EXPECT--MyArrayIterator::rewind0=>11=>2MyAppendIterator::__constructMyAppendIterator::appendClasses derived from AppendIterator must call AppendIterator::__construct()AppendIterator::getIterator() must be called exactly once per instanceMyAppendIterator::appendMyArrayIterator::rewindMyAppendIterator::appendMyAppendIterator::appendMyAppendIterator::rewindMyArrayIterator::rewindMyAppendIterator::valid0=>1MyAppendIterator::valid1=>2MyArrayIterator::rewindMyAppendIterator::valid0=>1MyAppendIterator::valid1=>2MyArrayIterator::rewindMyAppendIterator::valid0=>1MyAppendIterator::valid1=>2MyAppendIterator::valid===DONE===

⌨️ 快捷键说明

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