Bug #78799 [Opn]: Calling iterator_count() is killing the validity of RecursiveDirectoryIterator

From: Date: Sat, 09 Nov 2019 01:48:25 +0000
Subject: Bug #78799 [Opn]: Calling iterator_count() is killing the validity of RecursiveDirectoryIterator
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-223656@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=78799&edit=1 ID: 78799 User updated by: k-gun at mail dot com Reported by: k-gun at mail dot com Summary: Calling iterator_count() is killing the validity of RecursiveDirectoryIterator Status: Open Type: Bug Package: SPL related Operating System: Ubuntu -PHP Version: 7.4.0RC5 +PHP Version: 7.4.0RC4 Block user comment: N Private report: N New Comment: New email. Previous Comments: ------------------------------------------------------------------------ [2019-11-09 01:46:22] k-gun at mail dot com Description: ------------ Hi, Calling iterator_count() is affecting RecursiveDirectoryIterator::valid() and RecursiveDirectoryIterator::valid() is returning false after iterator_count() call. I am not sure that is a bug or just a behavior of PHP, but simply looks weird invalidating it without any iteration act such as while or foreach. Test script: --------------- $iter = new RecursiveDirectoryIterator("/tmp/", RecursiveDirectoryIterator::SKIP_DOTS); var_dump($iter->valid()); var_dump(iterator_count($iter)); var_dump($iter->valid()); Expected result: ---------------- bool(true) int(24) bool(true) Actual result: -------------- bool(true) int(24) bool(false) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=78799&edit=1

« previous php.bugs (#223656) next »