dongyouji7022 2017-01-20 16:53
浏览 70
已采纳

如何使用PHP将项目数组重新排列为3列?

I have an array of menu items that I'm printing out to the screen using a foreach loop into a single, continuous, unordered list. Because of CSS/design, they display on the screen in 3 columns in this order...

1 2 3
4 5 6
7 8 9

But I need them to display like this...

1 4 7
2 5 8
3 6 9

Is there a way I can, without changing the HTML structure and still within a single for/foreach loop, print out the same items so that they are arranged in the latter configuration?

Example code

<ul>
     <?php  
         foreach($nav_menu as $nav):
             echo "<li><a href='" . $nav->url . "'>" . $nav->title . "</a></li>";
         endforeach;
     ?>
</ul>
  • 写回答

3条回答 默认 最新

  • dsdeeaquu38538545 2017-01-20 17:36
    关注

    You can try this:

    <ul>
         <?php  
             foreach($nav_menu as $index => $nav):
                 $array_index = ($index / 3) + 3 * ($index % 3);
                 echo "<li><a href='" . $nav_menu[$array_index]->url . "'>" . $nav_menu[$array_index]->title . "</a></li>";
             endforeach;
         ?>
    </ul>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行