/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/spl/tests/iterator_027.phpt
80 строк
1 KB
Nikita Popov
Reindent phpt files
04 фев 2020, 00:52
04 фев 2020, 00:52
f8d7958
Код
Авторство
О чём код?
--TEST-- SPL: CachingIterator::FULL_CACHE --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])); // unset var_dump(isset($it[1])); // still present var_dump(isset($it[2])); // unset var_dump(isset($it[3])); // still present var_dump(isset($it['baz'])); echo "===REWIND===\n"; $it->rewind(); // cleans and reads first element var_dump(isset($it[0])); // pre-fetched var_dump(isset($it[1])); // deleted var_dump(isset($it[2])); // unset var_dump(isset($it[3])); // deleted ?> --EXPECT-- 0=>1 1=>2 0=>31 1=>32 0=>331 3=>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)