所以我正在寫一個嵌套回覆的評論系統的過程。我已經完成了存儲和檢索部分,並且最終得到了一系列評論對象,每個評論對象都有一個回覆屬性,它本身就是一個評論對象數組。適當的算法來替換三個嵌套循環 - 嵌套註釋
我允許的最大深度是3 - 或回覆答覆。
我正在尋找一個適當高效的三個嵌套循環顯示評論,或循環通過頂層,然後循環通過他們的答覆,然後循環通過他們的回覆,因爲這是不可擴展的替代。
好了,我一直在問了一些代碼:
class Comment{
public $replies = array();
public $content;
}
所以評論對象包含回覆的數組,這本身就是評論的對象。這會深入三層,因此我有一系列頂級註釋,每個註釋都包含一組響應,每個響應都包含一組響應。
我想找到一個解決方案,它優於這一點,因爲它出來到爲O(n^3)我相信:
foreach($comments as $c){
//do some stuff to display the comment here
foreach($c->replies as $r){
//do some stuff to display the replies here
foreach($r->replies as $rr){
//do some stuff to display replies to replies here
}
}
}
爲了獲得合格答案的遠程機會,我認爲你必須發佈一些代碼 - 就像這些「_three嵌套loops_」的例子.. :) – davidkonrad
@davidkonrad - 修復,請參閱附加代碼。 –
你的'評論'和'答覆'和答覆'保存在mysql表中的答覆?如果是的話,我可以建議使用JOIN查詢。 – Jhn