How can recursion be utilized in PHP to search for files in multiple directories?

When searching for files in multiple directories in PHP, recursion can be utilized to traverse through each directory and its subdirectories to find the desired files. This recursive approach allows for a more dynamic and flexible way of searching for files without the need to manually iterate through each directory.

function searchFiles($directory, $fileExtension, &$results = array()) {
    $files = scandir($directory);

    foreach ($files as $file) {
        if ($file == '.' || $file == '..') {
            continue;
        }

        $path = $directory . '/' . $file;

        if (is_dir($path)) {
            searchFiles($path, $fileExtension, $results);
        } else {
            if (pathinfo($path, PATHINFO_EXTENSION) == $fileExtension) {
                $results[] = $path;
            }
        }
    }

    return $results;
}

$directory = '/path/to/directory';
$fileExtension = 'txt';
$results = searchFiles($directory, $fileExtension);

print_r($results);