ホームページ >バックエンド開発 >PHPチュートリアル >PHP は、知識の質問と回答の Web サイトに質問の公開時間と人気の並べ替え機能を実装します。

PHP は、知識の質問と回答の Web サイトに質問の公開時間と人気の並べ替え機能を実装します。

WBOY
WBOYオリジナル
2023-07-02 10:46:361345ブラウズ

PHP は、ナレッジ Q&A Web サイトに質問のリリース時間と人気ランキング機能を実装します。

ナレッジ Q&A Web サイトでは、質問のリリース時間と人気度が、ユーザーが質問を選択する際の 2 つの重要な指標となります。この記事では、ナレッジQ&Aサイトに質問の公開時間や人気ランキングの機能を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'] . "
";
}

上記のコードでは、最初に質問とタイムスタンプを含む配列を定義します。次に、タイムスタンプに基づいて並べ替えるために使用される 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 関数を使用して質問の配列を並べ替え、ループを通じて並べ替えられた質問のリストを出力します。

上記のコードを実装することで、ナレッジ質疑応答 Web サイトに質問の公開時間と人気の並べ替え機能を実装し、ユーザー エクスペリエンスと質問の検索効果を向上させることができます。

以上がPHP は、知識の質問と回答の Web サイトに質問の公開時間と人気の並べ替え機能を実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。