Looping over multiple RecursiveDirectoryIterator

前端 未结 1 1379
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-12 19:31

I currently have the following PHP:

$directoryIterator = new RecursiveDirectoryIterator( __DIR__ . \'/tests/phpunit/\' );

/**
 * @var SplFileInfo $fileInfo
         


        
相关标签:
1条回答
  • 2021-01-12 20:13

    To iterate over iterators you can use AppendIterator class.

    $directoryIterator = new RecursiveDirectoryIterator( __DIR__ . '/tests/phpunit/' );
    $directoryIterator1 = new RecursiveDirectoryIterator( __DIR__ . '/tests/integration/' );
    $iterator = new AppendIterator();
    $iterator->append(new RecursiveIteratorIterator( $directoryIterator ));
    $iterator->append(new RecursiveIteratorIterator( $directoryIterator1 ));
    
    /**
     * @var SplFileInfo $fileInfo
     */
    foreach ($iterator as $fileInfo) {
        if ( substr( $fileInfo->getFilename(), -8 ) === 'Test.php' ) {
            $files[] = $fileInfo->getPathname();
        }
    }
    
    0 讨论(0)
提交回复
热议问题