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

📄 iterator_044.phpt

📁 PHP v6.0 For Linux 运行环境:Win9X/ WinME/ WinNT/ Win2K/ WinXP
💻 PHPT
字号:
--TEST--SPL: CachingIterator and offsetGet/Exists using flag FULL_CACHE--SKIPIF--<?php if (!extension_loaded("spl")) print "skip"; ?>--FILE--<?phpclass MyFoo{	function __toString()	{		return 'foo';	}}class MyCachingIterator extends CachingIterator{	function __construct(Iterator $it, $flags = 0)	{		parent::__construct($it, $flags);	}	function test($ar)	{		foreach($ar as $k => $v)		{			echo "===$k===\n";			var_dump($v);			var_dump($this->offsetExists($v));			var_dump($this->offsetGet($v));		}	}}$it = new MyCachingIterator(new ArrayIterator(array(0, 'foo'=>1, 2, 'bar'=>3, 4)));try{	var_dump($it->offsetExists(0));}catch(Exception $e){	echo "Exception: " . $e->getMessage() . "\n";}try{	var_dump($it->offsetGet(0));}catch(Exception $e){	echo "Exception: " . $e->getMessage() . "\n";}$it = new MyCachingIterator(new ArrayIterator(array(0, 'foo'=>1, 2, 'bar'=>3, 4)), CachingIterator::FULL_CACHE);var_dump($it->offsetExists());var_dump($it->offsetGet());$checks = array(0, new stdClass, new MyFoo, NULL, 2, 'foo', 3);$it->test($checks);echo "===FILL===\n";foreach($it as $v); // read all into cache$it->test($checks);?>===DONE===<?php exit(0); ?>--EXPECTF--Exception: MyCachingIterator does not use a full cache (see CachingIterator::__construct)Exception: MyCachingIterator does not use a full cache (see CachingIterator::__construct)Warning: CachingIterator::offsetExists() expects exactly 1 parameter, 0 given in %s/iterator_044.php on line %dNULLWarning: CachingIterator::offsetGet() expects exactly 1 parameter, 0 given in %s/iterator_044.php on line %dNULL===0===int(0)bool(false)Notice: Undefined index:  0 in %siterator_044.php on line %dNULL===1===object(stdClass)#%d (0) {}Warning: CachingIterator::offsetExists() expects parameter 1 to be string (Unicode or binary), object given in %siterator_044.php on line %dNULLWarning: CachingIterator::offsetGet() expects parameter 1 to be string (Unicode or binary), object given in %siterator_044.php on line %dNULL===2===object(MyFoo)#%d (0) {}bool(false)Notice: Undefined index:  foo in %siterator_044.php on line %dNULL===3===NULLbool(false)Notice: Undefined index:   in %siterator_044.php on line %dNULL===4===int(2)bool(false)Notice: Undefined index:  2 in %siterator_044.php on line %dNULL===5===string(3) "foo"bool(false)Notice: Undefined index:  foo in %siterator_044.php on line %dNULL===6===int(3)bool(false)Notice: Undefined index:  3 in %siterator_044.php on line %dNULL===FILL======0===int(0)bool(true)int(0)===1===object(stdClass)#1 (0) {}Warning: CachingIterator::offsetExists() expects parameter 1 to be string (Unicode or binary), object given in %siterator_044.php on line %dNULLWarning: CachingIterator::offsetGet() expects parameter 1 to be string (Unicode or binary), object given in %siterator_044.php on line %dNULL===2===object(MyFoo)#2 (0) {}bool(true)int(1)===3===NULLbool(false)Notice: Undefined index:   in %siterator_044.php on line %dNULL===4===int(2)bool(true)int(4)===5===string(3) "foo"bool(true)int(1)===6===int(3)bool(false)Notice: Undefined index:  3 in %siterator_044.php on line %dNULL===DONE===--UEXPECTF--Exception: MyCachingIterator does not use a full cache (see CachingIterator::__construct)Exception: MyCachingIterator does not use a full cache (see CachingIterator::__construct)Warning: CachingIterator::offsetExists() expects exactly 1 parameter, 0 given in %s/iterator_044.php on line %dNULLWarning: CachingIterator::offsetGet() expects exactly 1 parameter, 0 given in %s/iterator_044.php on line %dNULL===0===int(0)bool(false)Notice: Undefined index:  0 in %siterator_044.php on line %dNULL===1===object(stdClass)#%d (0) {}Warning: CachingIterator::offsetExists() expects parameter 1 to be string (Unicode or binary), object given in %siterator_044.php on line %dNULLWarning: CachingIterator::offsetGet() expects parameter 1 to be string (Unicode or binary), object given in %siterator_044.php on line %dNULL===2===object(MyFoo)#%d (0) {}bool(false)Notice: Undefined index:  foo in %siterator_044.php on line %dNULL===3===NULLbool(false)Notice: Undefined index:   in %siterator_044.php on line %dNULL===4===int(2)bool(false)Notice: Undefined index:  2 in %siterator_044.php on line %dNULL===5===unicode(3) "foo"bool(false)Notice: Undefined index:  foo in %siterator_044.php on line %dNULL===6===int(3)bool(false)Notice: Undefined index:  3 in %siterator_044.php on line %dNULL===FILL======0===int(0)bool(true)int(0)===1===object(stdClass)#1 (0) {}Warning: CachingIterator::offsetExists() expects parameter 1 to be string (Unicode or binary), object given in %siterator_044.php on line %dNULLWarning: CachingIterator::offsetGet() expects parameter 1 to be string (Unicode or binary), object given in %siterator_044.php on line %dNULL===2===object(MyFoo)#2 (0) {}bool(true)int(1)===3===NULLbool(false)Notice: Undefined index:   in %siterator_044.php on line %dNULL===4===int(2)bool(true)int(4)===5===unicode(3) "foo"bool(true)int(1)===6===int(3)bool(false)Notice: Undefined index:  3 in %siterator_044.php on line %dNULL===DONE===

⌨️ 快捷键说明

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