I have an multidimesional array of my folders and files. It looks like this:
$arr = array( 0 => 'file.php', 1 => 'file2.php', 'folder1' => array( 'subfolder1' => array( 0 => 'subfile.php', 1 => 'subfile2.php', 2 => 'subfile3.php' ) ), 'folder2' => array( 0 => 'image.jpg', 1 => 'image2.jpg', 'subfolder2' => array( 0 => 'subimage3.jpg', 1 => 'subimage4.jpg' ), 'subfolder3' => array( 0 => 'subfile4.php', 1 => 'subfile5.php' ), ), ); I am writing a function to loop through this array to get simple list of files with their pathes. Here is function:
function multiarrToList($arr,$list = false,$path = false){ if(!is_array($list)){ $list = array(); } if(!is_array($path)){ $path[] = ''; } foreach($arr as $key => $value){ if(is_array($value)){ $path[] = $key; $list = multiarrToList($arr[$key],$list,$path); } else { $list[] = array( 'filename' => $value, 'path' => $path ); } } return $list; } I am stuck because I am looping properly to get each filenames but pathes arent working properly. You can see it in result from item 5 and so on. There is repeat of folder which shouldnt be there int he path. Result:
Array ( [0] => Array ( [filename] => file.php [path] => Array ( [0] => ) ) [1] => Array ( [filename] => file2.php [path] => Array ( [0] => ) ) [2] => Array ( [filename] => subfile.php [path] => Array ( [0] => [1] => folder1 [2] => subfolder1 ) ) [3] => Array ( [filename] => subfile2.php [path] => Array ( [0] => [1] => folder1 [2] => subfolder1 ) ) [4] => Array ( [filename] => subfile3.php [path] => Array ( [0] => [1] => folder1 [2] => subfolder1 ) ) [5] => Array ( [filename] => image.jpg [path] => Array ( [0] => [1] => folder1 [2] => folder2 ) ) [6] => Array ( [filename] => image2.jpg [path] => Array ( [0] => [1] => folder1 [2] => folder2 ) ) [7] => Array ( [filename] => subimage3.jpg [path] => Array ( [0] => [1] => folder1 [2] => folder2 [3] => subfolder2 ) ) [8] => Array ( [filename] => subimage4.jpg [path] => Array ( [0] => [1] => folder1 [2] => folder2 [3] => subfolder2 ) ) [9] => Array ( [filename] => subfile4.php [path] => Array ( [0] => [1] => folder1 [2] => folder2 [3] => subfolder2 [4] => subfolder3 ) ) [10] => Array ( [filename] => subfile5.php [path] => Array ( [0] => [1] => folder1 [2] => folder2 [3] => subfolder2 [4] => subfolder3 ) ) ) Thanks for any idea.