Функция для вывода правильного окончания у счетчика комментариев

Допустим такую ситуацию, когда нам нужно вывести количество комментариев для определенного элемента. Можно конечно применить такой способ — комментариев (2), но куда приятней выводить текст с правильным окончанием — 1 комментарий, 2 комментария, 5-6 комментариев. Для этого есть небольшая простенькая php функция

function get_correct_str($num, $str1="комментарий", $str2="комментария", $str3="комментариев") {
    $val = $num % 100;

    if ($val > 10 && $val < 20) 
        return $num .' '. $str3;

    else {
        $val = $num % 10;
        if ($val == 1) return $num .' '. $str1;
        elseif ($val > 1 && $val < 5) return $num .' '. $str2;
        else return $num .' '. $str3;
    }
}

Для работы с функцией нужно передать ей обязательный параметр $num — количество комментариев, также можно изменить комментарии на отзывы или другое слово, задав необязательняе параметры:

$str1 — окончание для 1-го элемента (1 отзыв)

$str2 — окончание для 2-х -4-х элементов (3 отзыва)

$str3 — окончание для 5,6,7 и т.д. элементов (9 отзывов)

This entry was posted in Php, Памятка and tagged , , . Bookmark the permalink.

Один комментарий: Функция для вывода правильного окончания у счетчика комментариев

  1. Максим:

    Спасибо за функцию. Справляется с задачей))

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*