繁体   English   中英

每13个li元素创建一个新的ul

[英]create new ul after every 13 li elements

首先,我不知道如何在php中进行计数,也许有人会推荐我一个不错的阅读源。

第二,我不是要为我解决这个问题,而是只需要一个有意义的提示或更简单的解释即可。

这是我的功能:

  <ul>
    <?php foreach ($categories as $category) { ?>
    <li>
    <a href="<?php echo $category['href']; ?>"><p><?php echo $category['name']; ?></p></a>
      <?php if ($category['children']) { ?>
      <div>
        <?php for ($i = 0; $i < count($category['children']);) { ?>
          <?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
          <?php for (; $i < $j; $i++) { ?>
          <?php if (isset($category['children'][$i])) { ?>
        <ul>      
          <li class="none"><h1><?php echo $category['children'][$i]['name']; ?></h1></li>
        <?php if ($category['children'][$i]['children_level2']) { ?>     
        <?php for ($wi = 0; $wi < count($category['children'][$i]['children_level2']); $wi++) { ?>
           <li> 
          <a href="<?php echo $category['children'][$i]['children_level2'][$wi]['href']; ?>"><?php echo $category['children'][$i]['children_level2'][$wi]['name']; ?></a>
           </li>
         <?php } ?>
         <?php } ?>         
        </ul>
        <?php } ?>
        <?php } ?>
        <?php } ?>
      </div>
      <?php } ?>
    </li>
    <?php } ?>
  </ul> 

我想要这部分,每13 li个元素创建一个新的.ul。 ./ul。 标签

<?php if (isset($category['children'][$i])) { ?>
   <ul>      
      <li class="none"><h1><?php echo $category['children'][$i]['name']; ?></h1></li>
        <?php if ($category['children'][$i]['children_level2']) { ?>     
        <?php for ($wi = 0; $wi < count($category['children'][$i]['children_level2']); $wi++) { ?>
          <li> 
          <a href="<?php echo $category['children'][$i]['children_level2'][$wi]['href']; ?>"><?php echo $category['children'][$i]['children_level2'][$wi]['name']; ?></a>
       </li>
         <?php } ?>
         <?php } ?>         
    </ul>

  <ul><li>maximum of 13 elements</li></ul>
after 13 <li></li> elements create new <ul></ul> tags and put the 14 <li></li> element into the new <ul></ul> tag

我希望我已经解释了我想做什么,现在我将等待您的回答,

附言:这更多的是我的学习技能,而不是实际的工作,因此谢谢

这很简单。 使用条件

if ($wi && $wi % 13 == 0) {
    print '</ul><ul>';
}

为了计算13个元素,可以使用模运算符% 这个想法是,如果$iw的内容是13的倍数,则($iw % 13)等于0。( 有关模运算的更多信息,请参见

随着if语句可以插入</ul><ul>当你在你需要for循环。

我可以想到两种可能性:

  • 您可以将重置为1的计数器分开,并在每次达到13时输出<ul>
  • 或者您可以每次检查$wi id是否可被13整除:

      <?php for ($wi = 0; $wi < count($category['children'][$i]['children_level2']); $wi++) { if ($wi && $wi % 13 == 0) { // output <ul> } } ?> 

如果不确定%含义,请参见相应的PHP手册页

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM