【发布时间】:2014-06-23 18:43:21
【问题描述】:
我有什么:
我有一组链接及其元数据。
有些链接需要组合在一起,有些是常规链接。
我想要做什么:
我正在尝试遍历我的数组并将 li 与它们的相对 ul 分组,基于一个共同的 id。
问题:
- 一个问题是仅根据所述 id 制作唯一的 ul,而不是为其迭代的每个项目制作 ul。
- 第二个更困难的问题是在相对 ul 中对每个项目进行分组。
这是我必须使用的示例数组:
<?php
$array = array();
$array['page']['colours']['link'] = '/colours';
$array['page']['colours']['link-title'] = 'Colours';
$array['page']['colours']['subpage']['green']['aside']['link'] = '/colours/green';
$array['page']['colours']['subpage']['green']['aside']['link-title'] = 'Green';
$array['page']['colours']['subpage']['blue']['aside']['collapse']['id'] = 'cool-colours';
$array['page']['colours']['subpage']['blue']['aside']['link'] = '/colours/blue';
$array['page']['colours']['subpage']['blue']['aside']['link-title'] = 'Blue';
$array['page']['colours']['subpage']['purple']['aside']['collapse']['id'] = 'cool-colours';
$array['page']['colours']['subpage']['purple']['aside']['link'] = '/colours/purple';
$array['page']['colours']['subpage']['purple']['aside']['link-title'] = 'Purple';
$array['page']['colours']['subpage']['orange']['aside']['collapse']['id'] = 'bright-colours';
$array['page']['colours']['subpage']['orange']['aside']['link'] = '/colours/orange';
$array['page']['colours']['subpage']['orange']['aside']['link-title'] = 'Orange';
$array['page']['colours']['subpage']['yellow']['aside']['collapse']['id'] = 'bright-colours';
$array['page']['colours']['subpage']['yellow']['aside']['link'] = '/colours/yellow';
$array['page']['colours']['subpage']['yellow']['aside']['link-title'] = 'Yellow';
$array['page']['colours']['subpage']['red']['aside']['collapse']['id'] = 'bright-colours';
$array['page']['colours']['subpage']['red']['aside']['link'] = '/colours/red';
$array['page']['colours']['subpage']['red']['aside']['link-title'] = 'Red';
$array['page']['colours']['subpage']['pink']['aside']['collapse']['id'] = 'bright-colours';
$array['page']['colours']['subpage']['pink']['aside']['link'] = '/colours/pink';
$array['page']['colours']['subpage']['pink']['aside']['link-title'] = 'Pink';
?>
这是我目前用于迭代此数组的内容:
<aside id="sidebar">
<?php
if ( !empty( $array ) ) { ?>
<ul class="menu">
<?php foreach ( $array['page']['colours']['subpage'] as $subpage ) {
if( !empty( $subpage['aside'] ) ) {
$historyArray = array();
?>
<li>
<?php if( !empty( $subpage['aside']['collapse'] ) ) { ?>
<?php if( !in_array( $subpage['aside']['collapse']['id'], $historyArray ) ) { ?>
<a data-toggle="collapse" data-parent="#sidebar" href="#<?php echo $subpage['aside']['collapse']['id'] ?>" class="<?php echo $currentPageLink === $subpage['aside']['link'] ? 'active' : '' ?>"><?php echo $subpage['aside']['link-title'] ?></a>
<ul id="<?php echo $subpage['aside']['collapse']['id'] ?>">
<li>
<a href="<?php echo $subpage['aside']['link'] ?>" class="<?php echo $currentPageLink === $subpage['aside']['link'] ? 'active' : '' ?>"><?php echo $subpage['aside']['link-title'] ?></a>
</li>
</ul>
<?php
$historyArray[] = $subpage['aside']['collapse']['id'];
}
?>
<?php } else { ?>
<a href="<?php echo $subpage['aside']['link'] ?>" class="<?php echo $currentPageLink === $subpage['aside']['link'] ? 'active' : '' ?>"><?php echo $subpage['aside']['link-title'] ?></a>
<?php } ?>
</li>
<?php } } ?>
</ul>
<?php } ?>
</aside>
【问题讨论】:
标签: php html arrays foreach collapse