Допустим такую ситуацию, когда нам нужно вывести количество комментариев для определенного элемента. Можно конечно применить такой способ — комментариев (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 отзывов)
Спасибо за функцию. Справляется с задачей))