Склоняем слова на PHP
16 февраля 2018 17:12:00
5146 просмотров
Иногда бывают случаи, когда нужно вывести правильное склонение слова к какому-то числу. К примеру, мы выводим количество комментариев к статье и нужно правильно склонять слово «комментарий» в зависимости от количества. То есть мы должны получить примерно следующее: 5 комментариев, 3 комментария, 1 комментарий и так далее.
В этом деле поможет следующая функция:
if(!function_exists("NikolausDeclination")) { function NikolausDeclination($number, $declination_array) { $ostatok = $number % 100; if($ostatok >= 11 && $ostatok <= 19) { $ending = $declination_array[2]; } else { $i = $number % 10; switch($i) { case (1): $ending = $declination_array[0]; break; case (2): case (3): case (4): $ending = $declination_array[1]; break; default: $ending = $declination_array[2]; } } return $number . ' ' . $ending; } }
У функции два параметра. Первый — это число, а второй — массив со значениями склонённых слов для количества: 1, 4 и 5.
Чтобы всё было понятно, вот наглядный пример работы с этой функцией:
$comm = array( 0 => "комментарий", // 1 комментарий 1 => "комментария", // 4 комментария 2 => "комментариев" // 5 комментариев ); $count_comments = NikolausDeclination(58, $comm); echo($count_comments); // получим ответ: 58 комментариев
Материалы по теме
4 мая 2020 23:40:00
Склоняем слова на JS
Ранее я писал статью про склонение слов на PHP. Сейчас же поговорим о склонении на JS.