我正在尝试使用directory_map(‘源目录’,false)函数来扫描用户上传的文件夹/文件。它的工作原理是以多级数组格式输出结果。
我不知道多层数组有多深。如何迭代数组并以可读格式(例如html (ol/ul)标记)显示它?
发布于 2010-04-16 17:18:28
递归函数,哇!
下面是一个在我的一个视图文件中使用的递归函数的示例。
<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。如果它是一个数组,再次调用相同的函数。
https://stackoverflow.com/questions/2650114
复制相似问题