【发布时间】:2015-02-25 00:54:03
【问题描述】:
有没有更优雅的方式来输出带有数组的给定 html 结构?我找到了一些递归解决方案,但因此需要 parent_id(如果我理解正确的话)。
HTML
<ul>
<li>Level 1</li>
<li>
<ul>
<li>Level 2</li>
<li>
<ul>
<li>Level 3</li>
</ul>
</li>
</ul>
</li>
</ul>
数组
Array
(
[0] => Level 1
[1] => Array
(
[0] => Level 2
[1] => Array
(
[0] => Level 3
)
)
)
循环
<ul>
<?php foreach($array as $arr) : ?>
<li>
<?php if(is_array($arr)) : ?>
<ul>
<?php foreach($arr as $a) : ?>
<li>
<?php if(is_array($a)) : ?>
<ul>
<?php foreach($a as $aa) : ?>
<li><?php echo $aa; ?></li>
<?php endforeach; ?>
</ul>
<?php else : ?>
<?php echo $a; ?>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php else : ?>
<?php echo $arr; ?>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
我有点担心这种方法的性能:-D
【问题讨论】:
-
为什么不在 HTML 标签中也使用 echo 呢?
-
为什么不自己检查性能?
-
我认为可读性比性能更重要。它看起来像是一种视错觉。