What are the differences between using GLOB_ONLYDIR and recursion when listing directories in PHP with glob()?

When listing directories in PHP using glob(), you can use the GLOB_ONLYDIR flag to only return directories or you can use recursion to traverse through directories and subdirectories. Using GLOB_ONLYDIR is more efficient and straightforward when you only need to list directories at the top level. Recursion is useful when you need to list directories at all levels within a directory structure.

// Using GLOB_ONLYDIR flag to list only directories at the top level
$directories = glob('/path/to/directory/*', GLOB_ONLYDIR);

// Using recursion to list directories at all levels within a directory structure
function listDirectories($dir) {
    $directories = glob($dir . '/*', GLOB_ONLYDIR);
    foreach ($directories as $directory) {
        echo $directory . '<br>';
        listDirectories($directory);
    }
}

listDirectories('/path/to/directory');