Заказать бесплатную консультацию
- Создание и продвижение сайтов
- Разработка Landing Page
- Контекстная реклама в Яндекс и Google
- 10 лет опыта
- 150+ выполненных проектов
- 10 лет гарантия
В этой статье мы напишем функцию которая будет изменять окончание слов в зависимости от числа.
Вам надо вывести количество комментариев [18 комментариЕВ, 3 комментарИЯ и т.д.].
Так же необходимо взять во внимание числа: 11,12,13,14, для них окончание будет ЕВ - комментариеЕВ
Функция будет называться getTermination() - termination означает окончание по английски.
function getTermination ($num) { //Оставляем две последние цифры от $num $number = substr($num, -2); //Если 2 последние цифры входят в диапазон от 11 до 14 //Тогда подставляем окончание "ЕВ" if($number > 10 and $number < 15) { $term = "ев"; } else { $number = substr($number, -1); if($number == 0) {$term = "ев";} if($number == 1 ) {$term = "й";} if($number > 1 ) {$term = "я";} if($number > 4 ) {$term = "ев";} } echo $num.' комментари'.$term; } getTermination (15);
Теперь остается только подставить эту функцию в нужном месте и окончание будет меняться.
$quantityComments = 5;
$comments = $quantityComments . ' ' . getTermination($quantityComments);
echo $comments;
Результатом выполнения данной функции будет:
5 комментариев
Вот и все!! Пользуйтесь на здоровье!!!
Статья переписана, комменты по поводу ошибок в посте удалены, так как потеряли свою актуальность.
Метки: изменение окончания, склонение слова, падежи php, функция замены окончаний,