1
我試圖使用directory_map('source directory',false)函數來掃描用戶上傳的文件夾/文件。它工作並以多級數組格式吐出結果。我不知道多級數組會有多深。如何迭代數組並以可讀格式顯示(例如,在html(ol/ul)標籤中)?Codeigniter directory_map()
我試圖使用directory_map('source directory',false)函數來掃描用戶上傳的文件夾/文件。它工作並以多級數組格式吐出結果。我不知道多級數組會有多深。如何迭代數組並以可讀格式顯示(例如,在html(ol/ul)標籤中)?Codeigniter directory_map()
遞歸函數,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。如果它是一個數組,則再次調用相同的函數。
是否要將每個(子)目錄顯示爲標籤? – 2010-04-16 08:27:59
嗨Sylvio, 我希望它顯示爲嵌套ul/ol。 – aeran 2010-04-19 02:20:53