将 PHP 数组分成 3 列
我正在尝试将 PHP 数组分成 3 列(必须是列,而不是行),因此它看起来像这样:
Item 1 Item 2 Item 3
Item 4 Item 5 Item 6
Item 7 Item 8 Item 9
Item 10................
我能想到的最佳方法是将主数组分成 3 个数组,每个数组 1 个尽管我无法找出执行此操作的最佳方法 - 更具体地说是我可以用来生成 3 个数组的标准。
I'm trying to break a PHP array into 3 columns (has to be columns, not rows) so it would look something like this:
Item 1 Item 2 Item 3
Item 4 Item 5 Item 6
Item 7 Item 8 Item 9
Item 10................
The best approach I can think of would be to break the main array into 3 arrays, 1 for each column although I can't work out the best approach to do this - more specifically the criteria I could use to generate the 3 arrays.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我会使用这个:
或者使用 html 表时:
I would use this:
Or when using html table:
您可以使用
array_slice
提取数组的一部分,因此:编辑:As @ deceze 指出,这与
array_chunk
执行相同的操作。 (我知道 PHP 会有内置的东西。)所以请使用它!You can use
array_slice
to extract a section of an array, so:Edit: As @deceze points out, this does the same thing as
array_chunk
. (I knew PHP would have something built-in.) So use that instead!就这样,当您达到列数时,它只会输出另一行。当数据不是 3 的倍数时,您可能需要添加一些逻辑。
There you go, it just outputs another row when you get to your column count. You might need to add some logic when the data isnt a multiple of 3.
使用 array_chunk 你可以分割数组:
Using array_chunk you can split array :
在考虑您的问题主题时,第一印象是“专栏”,我认为您需要关注视觉方面。 “如何将数组显示为三列”可能是我的想法是错误的。但我想你想要那样。只要检查下面的例子我的想法是否正确。
When considering your question topic it's first impression is"Column" and I think you needed to focus on visual aspects. "How to display your array as three columns" May be my idea is wrong. But I think you wanted that. Just check following example if my thought is correct.
刚刚想了一下,这应该可以实现我想要的 - 尽管它是否是最快的方法,但我不确定:
编辑:尽管使用单个 foreach 循环,但与上面相同:
Having just thought about it, this should achieve what I want - whether it's the fastest method though, I'm not sure:
EDIT: The same as above although using a single foreach loop: