簡體   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