📄 iterator_046.phpt
字号:
--TEST--SPL: CachingIterator and __toString using bypassed string keys--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 fill() { echo __METHOD__ . "()\n"; foreach($this as $v) ; } function show() { echo __METHOD__ . "()\n"; foreach($this as $v) { var_dump((string)$this); } }}$it = new MyCachingIterator(new ArrayIterator(array(0, 'foo'=>1, 'bar'=>2)), CachingIterator::TOSTRING_USE_KEY);$it->fill();$it->show();?>===DONE===<?php exit(0); ?>--EXPECTF--MyCachingIterator::fill()MyCachingIterator::show()string(1) "0"string(3) "foo"string(3) "bar"===DONE===--UEXPECTF--MyCachingIterator::fill()MyCachingIterator::show()unicode(1) "0"unicode(3) "foo"unicode(3) "bar"===DONE===
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -