【问题标题】:PHP List StructurePHP 列表结构
【发布时间】:2012-02-28 08:59:47
【问题描述】:

假设我有一个包含这些项目的数组:

$test = array(Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9);

如何使用 for 或 foreach 打印此结构?

<ul>
    <li>
        <ul>
            <li>Item 1</li>
            <li>Item 2</li>
            <li>Item 3</li>
            <li>Item 4</li>
        </ul>
    </li>
    <li>
        <ul>
            <li>Item 5</li>
            <li>Item 6</li>
            <li>Item 7</li>
            <li>Item 8</li>
        </ul>
    </li>
    <li>
        <ul>
            <li>Item 9</li>
        </ul>
    </li>
</ul>

【问题讨论】:

  • 你知道for- 和while-loops 和echo吗?
  • 是的,我也可以使用它

标签: php


【解决方案1】:

您可以使用 array_chunk() 将数组拆分为块:

$chunks = array_chunk($test, 4);

这将为您提供一个数组,其中包含每个包含 4 个项目的子数组。然后,您可以遍历这些以创建列表项:

<ul>
    <?php foreach ($chunks as $chunk): ?>
        <li>
            <ul>
                <?php foreach ($chunk as $item): ?>
                    <li><?php echo htmlspecialchars($item) ?></li>
                <?php endforeach ?>
            </ul>
        </li>
    <?php endforeach ?>
</ul>

【讨论】:

    【解决方案2】:

    使用 array_chunk 分割你的值

    $test = array('Item1','Item2','Item3','Item4','Item5','Item6','Item7','Item8','Item9');
    
    $chunk = array_chunk($test, 4);
    
    echo '<ul>';
    foreach($chunk as $pieces) {
        echo '<li>';
        echo '<ul>';
        foreach($pieces as $item) {
            echo '<li>'.$item.'</li>';
        }
        echo '</ul>';
        echo '</li>';
    }
    echo '</ul>';
    

    【讨论】:

      【解决方案3】:

      试试这个

      <?php
          $test = array(Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9);
          $ChunkedTestarray = array_chunk($test, 4);
          echo "<ul>";
          foreach($ChunkedTestarray as $Data) {
              echo "<li><ul>";
              for ($i = 0; $i <= count($Data)-1;) {
                  echo "<li>".$Data[$i]."</li>";
                  $i++;
              }
              echo "</ul></li>";
          }
          echo "</ul>";
      ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多