吵吵   2011-07-04  阅读:3,815

昨天刚刚写了一下js代码,让我们能够实现对评论的回复。本来是为了自己在前台对一条评论回复能够简单快速的,但是呢‘低调vs飞翔’童鞋呢看着我和付付童鞋的很有爱的名字忍不住回复了付付。问题出现了,当我回复‘低调vs飞翔’童鞋的时候呢,评论显示不出来,因为我们前面只实现了两重评论的嵌套。

说到前面实现的两重嵌套前面那篇文章已经讲过了,实现的方法呢,是先将是回复评论的保存下来,然后将不是回复评论的显示出来,每显示一个就查询一下原来保存里面有没有回复他的,有呢就显示出来。那么按照这样子的逻辑,要实现三重的话,就得在第二重代码中继续加一段代码,看看有没有是对第二重评论回复的。以此类推,要实现n重需要写n次的代码,这个代价太高了。
有没有办法简单实现n重的嵌套呢,洗澡的时候突然先到了原来玩vc时候的是有个搜索文件的算法,该算法和现在我们的很类似。它是搜索文件夹下的文件,如果是文件夹就再继续往下搜,是文件就保存下来,知道主目录下的所有文件都被搜索到。实现这个功能最常用的就是递归搜索算法,什么叫递归搜索算法呢,简单言之就是函数的自身调用。我传递一个文件夹路径给函数,函数呢就开始找下面的文件,遇到文件夹则调用函数自身,并将刚找到的文件夹路径传递过去,如此递归的运算下去。
好了,扯完了,那么我们的多重回复要怎么做到呢?即是要编写一个可以自身调用的函数




上面的comment_reply是我们上一篇文章中讲到的将回复评论保存下来的数组,可以看到当我们在一个评论的结尾调用这个函数的时候isset($comment_reply[$chao_id])该句代码判断有没有回复评论有则输出,当输出到最后时候chao_comment_circle($comment_reply[$chao_id][‘comment_ID’],$comment_reply); 调用函数自身看看有没有该子评论的回复,有则循环不止,无则循环结束了。
来张图瞧瞧,各位可以试试盖盖楼,但是别盖的太高了,太高了怕他倒。

今天想想我以后的日志还是隔天发,一天去别人那里坐坐,另外天则自己写日志,这样子不会太累。天天呆在电脑面前很坏身体。吵吵提醒各位要保重身体啊。

吵吵微信朋友圈,请付款实名加入:

吵吵 吵吵

30条回应:“wp递归算法实现评论多重嵌套”

  1. liveme说道:

    这思路不错,我的本来就有嵌套功能了。

  2. 地球博客说道:

    第一次来,沙发了。
    我也遇见过评论不显示的问题,只好放弃,但你说的我看不懂。

  3. 雷小虎说道:

    第一次来,博主搞技术的~~~~

  4. 胡益博说道:

    第一次来,一看博文就知道博主是搞技术的!

  5. 蛋糕说道:

    不懂。。。郁闷!

  6. 老驴说道:

    额,楼上的都是第一次来啊,我也是,呵呵。

  7. 泊风说道:

    博主原来是学编程的吗?你这文章可就比较专业了,什么递归算法,我好像是好几年前听到的词语了…

  8. 小杰说道:

    这么多第一次~~~俺也是来打酱油滴!

  9. 小杰说道:

    小杰来支持了!

  10. 红涛SEO博客说道:

    这个强大啊,呵呵,

  11. 七七说道:

    不错的网站,以后得多来学习了!

  12. SOHO一族说道:

    过来看看,皮肤不错。

  13. phpadmin说道:

    还蛮不错的 递归查询

  14. 李绍兵说道:

    多说评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注