Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP循环被4分割_Php_Html_Loops - Fatal编程技术网

PHP循环被4分割

PHP循环被4分割,php,html,loops,Php,Html,Loops,我如何完成这个PHP任务 我有一个无序的html列表和数组。 我的代码向数组中的每个项添加列表标记,以创建一个大的无序列表 <ul> <?php foreach ($rows as $id => $row): ?> <li><?php print $row ?></li> <?php en

我如何完成这个PHP任务

我有一个无序的html列表和数组。 我的代码向数组中的每个项添加列表标记,以创建一个大的无序列表

            <ul>
                 <?php foreach ($rows as $id => $row): ?>
                        <li><?php print $row ?></li>
                <?php endforeach; ?>
            </ul>
电流输出低于

            <ul>
                <li>01</li>
                <li>02</li>
                <li>.....</li>
                <li>.....</li>
                <li>15</li>
            </ul>
  • 01
  • 02
  • 十五
我想要的是拆分列表项,使它们以4个为一组,作为子无序列表。例如,如果数字不能被4整除,那么余数应该是末尾的较小列表

            <ul>
                <ul>
                    <li>01</li>
                    <li>02</li>
                    <li>.....</li>
                    <li>.....</li>
                </ul>
                <ul>
                    <li>05</li>
                    <li>06</li>
                    <li>.....</li>
                    <li>.....</li>
                </ul>
                <ul>
                    <li>09</li>
                    <li>10</li>
                </ul>
            </ul>
    • 01
    • 02
    • 05
    • 06
    • 09
    • 十,
提前感谢。

    <ul>
    <?php foreach ($rows as $id => $row): ?>
        <?php if ($id > 0 && $id % 4 === 0): ?>
            </ul><ul>
        <?php endif ;?>
        <li><?php echo $row; ?></li>
    <?php endforeach; ?>
    </ul>
    
(请注意,如果
$rows
数组的键不仅仅是一个索引号,则需要维护自己的计数器变量。)


尝试以下方法:

   <?php
                 $rows = array("2","3","5","6","8","9","0","3","5");
                 $i =0;
                  foreach ($rows as $id => $row): 
                  if($i % 4 == 0)
                  { echo "</ul><ul>";}
                  $i++;
                  ?>
                        <li><?php print $row ?></li>
                <?php endforeach; ?>
            </ul>


  • 最后,这就是我想要的解决方案。此解决方案包括一条语句,用于在有许多项不能被四整除时关闭标记,例如,如果总共有五项。多亏了大家,没有你们的投入,我不可能做到这一点

                $count;
                foreach ($rows as $id => $row)
                    {
                        if ($count % 4 == 0)
                        {           
                            echo "<ul>";
                        }
    
                        echo '<li>' . $row . '</li>';
    
                        if ($count % 4 == 3 || $count == count($rows)-1)
                        {
                            echo "</ul>";
                        }
                        $count++;
                    }
    
    $count;
    foreach($id=>$row的行)
    {
    如果($count%4==0)
    {           
    回声“
      ”; } 回显“
    • ”.$row.“
    • ”; 如果($count%4==3 | |$count==count($rows)-1) { 回声“
    ”; } $count++; }
    让您循环维护一个计数器,当计数器达到提供mod 0的值时,您在循环的开始和结束处绘制一个
    ,以及一个开始
    和结束
    ,非常感谢您的回答。非常感谢。最后我使用了这个解决方案,因为以后数组可能会更改为关联数组。@n00b13:请注意,如果数组是关联的,这个解决方案(也)将不起作用:
    foreach
    将覆盖
    $id
    。非常感谢。请参阅下面我的最终代码。我已经包含了一个语句来关闭列表末尾的标记,不管它是否可以被4整除。
       <?php
                     $rows = array("2","3","5","6","8","9","0","3","5");
                     $i =0;
                      foreach ($rows as $id => $row): 
                      if($i % 4 == 0)
                      { echo "</ul><ul>";}
                      $i++;
                      ?>
                            <li><?php print $row ?></li>
                    <?php endforeach; ?>
                </ul>
    
                $count;
                foreach ($rows as $id => $row)
                    {
                        if ($count % 4 == 0)
                        {           
                            echo "<ul>";
                        }
    
                        echo '<li>' . $row . '</li>';
    
                        if ($count % 4 == 3 || $count == count($rows)-1)
                        {
                            echo "</ul>";
                        }
                        $count++;
                    }