📄 iterator_027.phpt
字号:
--TEST--SPL: CachingIterator::FULL_CACHE--SKIPIF--<?php if (!extension_loaded("spl")) print "skip"; ?>--FILE--<?php$ar = array(1, 2, array(31, 32, array(331)), 4);$it = new RecursiveArrayIterator($ar);$it = new RecursiveIteratorIterator($it);$it = new CachingIterator($it, CachingIterator::FULL_CACHE);foreach($it as $k=>$v){ echo "$k=>$v\n";}echo "===CHECK===\n";for ($i = 0; $i < 4; $i++){ if (isset($it[$i])) { var_dump($i, $it[$i]); }}$it[2] = 'foo';$it[3] = 'bar';$it['baz'] = '25';var_dump($it[2]);var_dump($it[3]);var_dump($it['baz']);unset($it[0]);unset($it[2]);unset($it['baz']);var_dump(isset($it[0])); // unsetvar_dump(isset($it[1])); // still presentvar_dump(isset($it[2])); // unsetvar_dump(isset($it[3])); // still presentvar_dump(isset($it['baz']));echo "===REWIND===\n";$it->rewind(); // cleans and reads first elementvar_dump(isset($it[0])); // pre-fetchedvar_dump(isset($it[1])); // deletedvar_dump(isset($it[2])); // unsetvar_dump(isset($it[3])); // deleted?>===DONE===<?php exit(0); ?>--EXPECT--0=>11=>20=>311=>320=>3313=>4===CHECK===int(0)int(331)int(1)int(32)int(3)int(4)string(3) "foo"string(3) "bar"string(2) "25"bool(false)bool(true)bool(false)bool(true)bool(false)===REWIND===bool(true)bool(false)bool(false)bool(false)===DONE===--UEXPECT--0=>11=>20=>311=>320=>3313=>4===CHECK===int(0)int(331)int(1)int(32)int(3)int(4)unicode(3) "foo"unicode(3) "bar"unicode(2) "25"bool(false)bool(true)bool(false)bool(true)bool(false)===REWIND===bool(true)bool(false)bool(false)bool(false)===DONE===
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -