Склоняем слова на PHP
16 февраля 2018 17:12:00
6600 просмотров
Иногда бывают случаи, когда нужно вывести правильное склонение слова к какому-то числу. К примеру, мы выводим количество комментариев к статье и нужно правильно склонять слово «комментарий» в зависимости от количества. То есть мы должны получить примерно следующее: 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.