/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/spl/tests/iterator_025.phpt
89 строк
1 KB
Máté Kocsis
Declare tentative return types in ext/spl - part 3 (#7239)
16 июл 2021, 13:09
Не верифицирован
16 июл 2021, 13:09
b3e0888
Код
Авторство
О чём код?
--TEST-- SPL: RecursiveIteratorIterator and begin/endIteration() --FILE-- <?php class MyRecursiveIteratorIterator extends RecursiveIteratorIterator { function beginIteration(): void { echo __METHOD__ . "()\n"; } function endIteration(): void { echo __METHOD__ . "()\n"; } } $ar = array(1, 2, array(31, 32, array(331)), 4); $it = new MyRecursiveIteratorIterator(new ArrayObject($ar, 0, "RecursiveArrayIterator")); foreach($it as $v) echo "$v\n"; echo "===MORE===\n"; foreach($it as $v) echo "$v\n"; echo "===MORE===\n"; $it->rewind(); foreach($it as $v) echo "$v\n"; var_dump($it->valid()); echo "===MANUAL===\n"; $it->rewind(); while($it->valid()) { echo $it->current() . "\n"; $it->next(); break; } $it->rewind(); while($it->valid()) { echo $it->current() . "\n"; $it->next(); } ?> --EXPECT-- MyRecursiveIteratorIterator::beginIteration() 1 2 31 32 331 4 MyRecursiveIteratorIterator::endIteration() ===MORE=== MyRecursiveIteratorIterator::beginIteration() 1 2 31 32 331 4 MyRecursiveIteratorIterator::endIteration() ===MORE=== MyRecursiveIteratorIterator::beginIteration() 1 2 31 32 331 4 MyRecursiveIteratorIterator::endIteration() bool(false) ===MANUAL=== MyRecursiveIteratorIterator::beginIteration() 1 1 2 31 32 331 4 MyRecursiveIteratorIterator::endIteration()