>  기사  >  백엔드 개발  >  PHP는 지식 Q&A 사이트에 질문 게시 시간 및 인기도 정렬 기능을 구현합니다.

PHP는 지식 Q&A 사이트에 질문 게시 시간 및 인기도 정렬 기능을 구현합니다.

WBOY
WBOY원래의
2023-07-02 10:46:361326검색

PHP는 지식 Q&A 사이트에 질문 게시 시간 및 인기 순위 기능을 구현합니다.

지식 Q&A 사이트에서는 사용자가 질문을 선택할 때 질문 게시 시간과 질문의 인기도가 두 가지 중요한 지표입니다. 이 글에서는 PHP를 사용하여 지식 Q&A 사이트에서 질문 게시 시간 및 인기 순위 기능을 구현하는 방법을 소개합니다.

  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 함수를 사용하여 질문 배열을 정렬하고 루프를 통해 정렬된 질문 목록을 출력합니다. 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

    질문 인기 정렬

    🎜질문 인기 정렬은 질문의 답변 수와 조회수를 기준으로 답변과 조회수가 많은 질문이 우선 순위를 매깁니다. PHP에서는 연관 배열과 사용자 정의 정렬 기능을 사용하여 이슈를 인기순으로 정렬할 수 있습니다. 다음은 샘플 코드입니다. 🎜rrreee🎜위 코드에서는 먼저 질문, 답변 수, 조회수를 포함하는 배열을 정의합니다. 그런 다음 답변 수와 조회 수를 기준으로 정렬하는 데 사용되는 sortByHotness 함수를 정의했습니다. 마지막으로 usort 함수를 사용하여 질문 배열을 정렬하고 루프를 통해 정렬된 질문 목록을 출력합니다. 🎜🎜위 코드를 구현하면 지식질문답변 사이트에 질문 게시시간과 인기도 정렬 기능을 구현하여 사용자 경험과 질문 검색 효과를 향상시킬 수 있습니다. 🎜

위 내용은 PHP는 지식 Q&A 사이트에 질문 게시 시간 및 인기도 정렬 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.