2010-04-16 34 views
1

我試圖使用directory_map('source directory',false)函數來掃描用戶上傳的文件夾/文件。它工作並以多級數組格式吐出結果。我不知道多級數組會有多深。如何迭代數組並以可讀格式顯示(例如,在html(ol/ul)標籤中)?Codeigniter directory_map()

+0

是否要將每個(子)目錄顯示爲標籤? – 2010-04-16 08:27:59

+0

嗨Sylvio, 我希望它顯示爲嵌套ul/ol。 – aeran 2010-04-19 02:20:53

回答

0

遞歸函數,whoop!

這裏是一個遞歸函數在我的一個視圖文件中使用的例子。

  <tbody> 
       <?php function album_row($albums, $parent, $lvl) { ?> 
       <?php if(isset($albums[$parent])) foreach ($albums[$parent] as $album): ?> 
        <tr> 
         <td><?php echo form_checkbox('action_to[]', $album->id); ?></td> 
       <td><?php echo repeater('-- ', $lvl);?> <?php echo $album->title;?></td> 
       <td><?php echo $album->num_photos;?></td> 
       <td><?php echo date('M d, Y', $album->updated_on);?></td> 
       <td><?php echo anchor('photos/' . $album->slug, lang('photo_albums.view_label'), 'target="_blank"') . ' | ' . 
           anchor('admin/photos/manage/' . $album->id, lang('photo_albums.manage_label')) . ' | ' . 
           anchor('admin/photos/edit/' . $album->id, lang('photo_albums.edit_label')) . ' | ' . 
           anchor('admin/photos/delete/' . $album->id, lang('photo_albums.delete_label'), array('class'=>'confirm')); ?> 
       </td> 
       </tr> 
       <?php album_row($albums, $album->id, $lvl+1) ?> 
       <?php endforeach; }?>    
       <?php album_row($albums, 0, 0); ?> 
      </tbody> 

因爲基本上你想創建一個檢查,如果內容是一個數組或字符串的函數你的將是一個有點不同。

如果它的字符串是echo。如果它是一個數組,則再次調用相同的函數。