Peuplarchie Posted April 5, 2009 Share Posted April 5, 2009 Good day to you all, I'm working on a piece of code which read a directory recursively and list them as an array. What I'm trying to do here is to echo only the ones with dir as "dir" as 4th key. Can somebody help me i'm fairly new with arry, specificly multidimensional array. Here is my code : <?php $dir = "Art/"; function recur_dir($dir) { $dirlist = opendir($dir); while ($file = readdir ($dirlist)) { if ($file != '.' && $file != '..') { $newpath = $dir.'/'.$file; $level = explode('/',$newpath); if (is_dir($newpath)) { $mod_array[] = array( 'level'=>count($level)-1, 'path'=>$newpath, 'name'=>end($level), 'kind'=>'dir', 'mod_time'=>filemtime($newpath), 'content'=>recur_dir($newpath) ); }else{ $mod_array[] = array( 'level'=>count($level)-1, 'path'=>$newpath, 'name'=>end($level), 'kind'=>'file', 'mod_time'=>filemtime($newpath), 'size'=>filesize($newpath) ); } } } closedir($dirlist); ksort($mod_array); return $mod_array; $key = array_search('dir', $mod_array); echo '<pre>'; echo $key; echo '</pre>'; } ?> Thanks ! Link to comment https://forums.phpfreaks.com/topic/152627-echo-matching-key-in-multidimention-array/ Share on other sites More sharing options...
phpian Posted April 7, 2009 Share Posted April 7, 2009 sorry i've not tested this but i would do something like: foreach ($mod_array as $key => $array) { if ($array['kind'] == 'dir') { echo $key; } } Link to comment https://forums.phpfreaks.com/topic/152627-echo-matching-key-in-multidimention-array/#findComment-803708 Share on other sites More sharing options...
Peuplarchie Posted April 8, 2009 Author Share Posted April 8, 2009 Thanks ! That worked it out ! I understand more, but , here I'm using the array to store a recursive list of files and directories, I can"t seems to only see the file in level 3 let say, can you help me understand that ? foreach ($mod_array as $key => $array) { if ($array['level'] == '2') { echo $key; } } I can"t make it to work... Thanks ! Link to comment https://forums.phpfreaks.com/topic/152627-echo-matching-key-in-multidimention-array/#findComment-804198 Share on other sites More sharing options...
phpian Posted April 8, 2009 Share Posted April 8, 2009 sorry I don't understand the question. Could you rephrase it please. What are you trying to achieve and what's the problem? Link to comment https://forums.phpfreaks.com/topic/152627-echo-matching-key-in-multidimention-array/#findComment-804295 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.