Maison  >  Article  >  développement back-end  >  PHP implémente les fonctions de tri du temps de publication et de la popularité des questions dans le site Web de questions et réponses de connaissances.

PHP implémente les fonctions de tri du temps de publication et de la popularité des questions dans le site Web de questions et réponses de connaissances.

WBOY
WBOYoriginal
2023-07-02 10:46:361326parcourir

PHP implémente les fonctions de temps de publication des questions et de classement de popularité dans le site Web de questions-réponses de connaissances.

Dans le site Web de questions-réponses de connaissances, le temps de publication et la popularité des questions sont deux indicateurs importants lorsque les utilisateurs sélectionnent des questions. Cet article explique comment utiliser PHP pour implémenter les fonctions de temps de publication des questions et de classement de popularité sur le site Web de questions-réponses sur les connaissances.

  1. Tri de l'heure de publication des questions

Le tri de l'heure de publication des questions est basé sur l'heure de publication des questions, les dernières questions publiées en haut. En PHP, nous pouvons utiliser des tableaux et des horodatages pour trier les problèmes selon l'heure à laquelle ils ont été publiés. Voici un exemple de code :

// 定义问题数组
$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'] . "
";
}

Dans le code ci-dessus, nous définissons d'abord un tableau contenant des questions et des horodatages. Ensuite, nous définissons la fonction sortByTimestamp, qui est utilisée pour trier en fonction de l'horodatage. Enfin, nous utilisons la fonction usort pour trier le tableau de questions et afficher la liste triée de questions via une boucle. 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'] . "
";
}

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

    Tri par popularité des questions

    🎜Le tri par popularité des questions est basé sur le nombre de réponses et de vues des questions. Les questions avec plus de réponses et de vues sont classées en premier. En PHP, nous pouvons utiliser des tableaux associatifs et des fonctions de tri personnalisées pour trier les problèmes par popularité. Voici un exemple de code : 🎜rrreee🎜Dans le code ci-dessus, nous définissons d'abord un tableau contenant des questions, le nombre de réponses et le nombre de vues. Ensuite, nous avons défini la fonction sortByHotness, qui permet de trier en fonction du nombre de réponses et de vues. Enfin, nous utilisons la fonction usort pour trier le tableau de questions et afficher la liste triée de questions via une boucle. 🎜🎜En implémentant le code ci-dessus, nous pouvons implémenter des fonctions de tri du temps de publication et de la popularité des questions dans le site Web de questions et réponses de connaissances pour améliorer l'expérience utilisateur et les effets de récupération des questions. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn