PHP melaksanakan fungsi pengisihan masa penerbitan soalan dan populariti dalam laman web soalan dan jawapan pengetahuan.

WBOY
Lepaskan: 2023-07-02 10:50:01
asal
1303 orang telah melayarinya

PHP 实现知识问答网站中的问题发布时间和热度排序功能

在知识问答网站中,问题的发布时间和热度是用户选择问题时的两个重要指标。本文将介绍如何使用 PHP 实现知识问答网站中的问题发布时间和热度排序功能。

  1. 问题发布时间排序

问题发布时间排序是根据问题的发布时间先后进行排序,其中最新发布的问题排在最前面。在 PHP 中,我们可以使用数组和时间戳来实现问题发布时间排序。下面是一个示例代码:

// 定义问题数组
$questions = array(
    array(
        "question" => "如何学习 PHP?",
        "timestamp" => 1635021900
    ),
    array(
        "question" => "如何使用 MySQL 数据库?",
        "timestamp" => 1635018000
    ),
    array(
        "question" => "如何优化网站性能?",
        "timestamp" => 1635014100
    )
);

// 根据发布时间排序问题
function sortByTimestamp($a, $b) {
    return $b['timestamp'] - $a['timestamp'];
}

// 使用 usort 函数进行排序
usort($questions, 'sortByTimestamp');

// 输出排序后的问题列表
foreach ($questions as $question) {
    echo $question['question'] . "
";
}
Salin selepas log masuk

以上代码中,我们首先定义了一个包含问题和时间戳的数组。然后,我们定义了 sortByTimestamp 函数,该函数用于根据时间戳进行排序。最后,我们使用 usort 函数对问题数组进行排序,并通过循环输出排序后的问题列表。

  1. 问题热度排序

问题热度排序是根据问题的回答数量和浏览量进行排序,其中回答数量和浏览量越多的问题排在最前面。在 PHP 中,我们可以使用关联数组和自定义排序函数来实现问题热度排序。下面是一个示例代码:

// 定义问题数组
$questions = array(
    array(
        "question" => "如何学习 PHP?",
        "answers" => 10,
        "views" => 100
    ),
    array(
        "question" => "如何使用 MySQL 数据库?",
        "answers" => 5,
        "views" => 50
    ),
    array(
        "question" => "如何优化网站性能?",
        "answers" => 8,
        "views" => 80
    )
);

// 根据热度排序问题
function sortByHotness($a, $b) {
    $hotnessA = $a['answers'] + $a['views'];
    $hotnessB = $b['answers'] + $b['views'];
    return $hotnessB - $hotnessA;
}

// 使用 usort 函数进行排序
usort($questions, 'sortByHotness');

// 输出排序后的问题列表
foreach ($questions as $question) {
    echo $question['question'] . "
";
}
Salin selepas log masuk

以上代码中,我们首先定义了一个包含问题、回答数量和浏览量的数组。然后,我们定义了 sortByHotness 函数,该函数用于根据回答数量和浏览量进行排序。最后,我们使用 usort 函数对问题数组进行排序,并通过循环输出排序后的问题列表。

通过实现以上代码,我们可以在知识问答网站中实现问题发布时间和热度排序功能,以提升用户体验和问题检索效果。

Atas ialah kandungan terperinci PHP melaksanakan fungsi pengisihan masa penerbitan soalan dan populariti dalam laman web soalan dan jawapan pengetahuan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!