以下是一个嵌套评论的PHP案例:
<?php
// 假设这是一个从数据库中获取的评论数据
$comments = array(
array('id' => 1, 'text' => '评论 1', 'parent_id' => 0),
array('id' => 2, 'text' => '评论 2', 'parent_id' => 0),
array('id' => 3, 'text' => '评论 3', 'parent_id' => 1),
array('id' => 4, 'text' => '评论 4', 'parent_id' => 3),
array('id' => 5, 'text' => '评论 5', 'parent_id' => 0),
array('id' => 6, 'text' => '评论 6', 'parent_id' => 5),
array('id' => 7, 'text' => '评论 7', 'parent_id' => 6),
);
// 递归函数用于生成嵌套评论
function generateNestedComments($comments, $parent_id = 0, $level = 0) {
foreach ($comments as $comment) {
if ($comment['parent_id'] == $parent_id) {
echo str_repeat('-', $level) . $comment['text'] . "<br>";
generateNestedComments($comments, $comment['id'], $level + 1);
}
}
}
// 调用函数生成嵌套评论
generateNestedComments($comments);
?>
这个案例中,我们使用了一个递归函数generateNestedComments
来生成嵌套评论。首先,我们从数据库中获取了评论数据,每个评论都有一个parent_id
字段来表示其父评论的ID。然后,我们使用递归函数来遍历评论数组,找到每个父评论的所有子评论,并根据评论的层级关系使用str_repeat
函数来添加适当数量的缩进。最后,我们通过调用generateNestedComments
函数来生成嵌套评论。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站