我有一個div數組(博客文章)。說33個博客文章。我的任務是將它們分成第一個成對(將另外兩個div換成另一個),這樣我就有17個div(每個包含一對博客文章,最後一個可能只包含一個博客文章),然後 - 我想這15個雙元組再分成5個組(最後一個可能包含更少)......所以最終我有3個塊,每塊最多包含5個塊,每塊包含兩篇博客文章。我是否足夠清楚了?將數組拆分成數組php
當然,所有帖子的總數是未知的,所以我必須使其自動工作。
尋找答案我找到了關於函數array_chunk
的問題,它確實如此 - 將數組拆分成數組......我的情況 - 我必須運行這個函數兩次。和它完美的作品:)
$posts = array(1,2,3,4 ... 33);
$pairs = array_chunk($posts, 2) // $pairs will contain an array of 17 arrays each containing two elements
$wrap = array_chunk($pairs, 5) // $wrap will contain an array of 3 arrays each containing an array of pairs
困擾我的是,當我輸出全部通過foreach
的div我碰巧自然有3套foreaches
......首先呈現3(或更多)的大包裝的唯一的事 - 然後 - 5對包裝,最後 - 一個foreach呈現兩個博客文章。
我知道另一種解決方案 - 在原始數組上運行foreach
,並在適當的時刻打開和關閉合適的div,以及某些數學條件(例如if($i % 2 == 0) { //do stuff }
)。如果有人能夠幫助我解決這個問題,那麼我一直無法完成,並且會很高興。
我的問題如下:
- 是否有顯著差異(在性能方面),至於如何 許多嵌套foreaches運行?
- 是否有某種最佳實踐方法可用於 這種情況?或者可能有一個完全不同的方法。
我的計算與你的不同,彼得:)它需要160個循環,嵌套示例中不是100。 (這幾乎是兩倍)。如果你願意,可以看看這個小提琴(html窗口更具代表性) - http://jsfiddle.net/skip405/Bb7St/2/ – skip405
@ skip405 http://jsfiddle.net/Bb7St/4/ :)) – Peter
@ skip405和http://codepad.org/KtEchEmR :)) – Peter