How can PHP developers ensure that directory structures are accurately represented in arrays when reading files and folders?

When reading files and folders in PHP, developers can ensure that directory structures are accurately represented in arrays by using recursive functions to traverse through directories and subdirectories. This allows for the creation of a multidimensional array that accurately reflects the hierarchy of files and folders.

function scanDirectory($dir){
    $files = [];
    
    foreach(scandir($dir) as $file){
        if($file != '.' && $file != '..'){
            if(is_dir($dir.'/'.$file)){
                $files[$file] = scanDirectory($dir.'/'.$file);
            } else {
                $files[] = $file;
            }
        }
    }
    
    return $files;
}

$directory = 'path/to/directory';
$directoryArray = scanDirectory($directory);

print_r($directoryArray);