PHP嵌套评论的实现思路_第1页
PHP嵌套评论的实现思路_第2页
PHP嵌套评论的实现思路_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、所谓嵌套评论,就是对评论的评论,并且这些评论不是按常规的一条一条显示在文章后面,而是所有的评论都显示在一个封闭的区域里的。这样说,大家也不知道,还是直观一点吧,看下面的效果图【来自网易评论的截图】:上面的评论,都是某一篇新闻中的评论。区别在于,序号1中的评论是直接对新闻的评论,而其他序号中的评论则是对序号1这条评论的评论,另外没有序号 的评论则是对序号1的最新的评论。对评论的评论如何实现并不新鲜,但是要如何以截图中的效果显示出来呢?对大部分PHP新手来说,恐怕比较陌生。如果只是 显示某一条评论的嵌套评论,那还简单,关键是你还要显示所有的评论,有的评论有嵌套,有的则没有。要实现图中的显示效果,一

2、方面是css要控制样式,另一方面就是要用适当的结构来存储读取的评论数据。我们把所有评论分为两种类型,一类是对文章的直接评论;一类是对该文章下评论的评论。我们存储的数据结构是这样的【采用二维数组】:1、第一维的键值是直接评论的id,第二维的键值为数字索引,如:$all_comment$comment_listid=$comment_list;把直接评论存储在第二维,索引为0$all_comment$comment_listid=$sub_list;/把嵌套评论存储在第二维,索引为1,2,3.示例数据:2、在上面的数据结构中,第一维都是直接评论的id,第二维则分别存储该评论的数据和对该评论的嵌套评

3、论的数据,并且直接评论位于第二维的第一个索引位置。3、在存储嵌套评论的时候,还需要做一些处理。从图中看出,显示在最外面的评论即没有序号的评论,它们可能是对文章的直接评论或者对直接评论的最 后一条嵌套评论【按评论时间】。我们的数据结构中,直接评论是存储在第二维中的0索引中,而嵌套评论是存储在第二维中的其他索引中的。由于最后一条嵌套评 论和与直接评论一样,显示在最外面,那么在数据结构中,就要交换直接评论和最后一条嵌套评论的存储位置。即:把嵌套评论的最后一条数据存储在第二维中的0 索引中,把直接评论存储第二维中的最后索引中,这样就实现了显示嵌套评论的时候,直接评论显示在最上面,也就是序号为1的区域。

4、【如果不存在嵌套评论,以 上操作不会影响直接评论的显示,因为处理后直接评论依然会存储在索引0】具体的处理代码如下:$last=array_pop($all_comment$comment_listid);/弹出数组第二维的最后一个元素,即把最后一条嵌套评论弹出$temp=$all_comment$comment_listid;/把剩下的数组赋值给临时变量,即存储直接评论和其他嵌套评论的数组$all_comment$comment_listid=array();/将原数组变量清空array_push($all_comment$comment_listid,$last);/将最后一条嵌套评论存储在原数组第二维的0索引array_push($all_comment$comment_listid,$temp);/将直接评论和其余嵌套评论存储在原数组第二维的1索引示例数据:4、循环输出。首先,我们输出第二维中0索引的直接

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论