Page 1 of 1

Echo matching key in multidimention array

Posted: Sun Apr 05, 2009 1:56 am
by Peuplarchie
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 :

Code: Select all

 
 
<?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 !

Re: Echo matching key in multidimention array

Posted: Fri Apr 10, 2009 6:12 am
by novice4eva

Code: Select all

 
foreach($mod_array as $dir)
{
if($dir['kind']=='dir')
{
print_r($dir);
}
}
 
Is this what you wanted!! Hope it is :)