Skip to content

Instantly share code, notes, and snippets.

@gaintsev
Forked from Neolot/gist:3964380
Created March 16, 2021 11:10
Show Gist options
  • Save gaintsev/a7a79b4644e656ad8096102880d82a70 to your computer and use it in GitHub Desktop.
Save gaintsev/a7a79b4644e656ad8096102880d82a70 to your computer and use it in GitHub Desktop.
PHP Склонение числительных
<?php
/**
* Функция склонения числительных в русском языке
*
* @param int $number Число которое нужно просклонять
* @param array $titles Массив слов для склонения
* @return string
**/
$titles = array('Сидит %d котик', 'Сидят %d котика', 'Сидит %d котиков');
function declOfNum($number, $titles)
{
$cases = array (2, 0, 1, 1, 1, 2);
$format = $titles[ ($number%100 > 4 && $number %100 < 20) ? 2 : $cases[min($number%10, 5)] ];
return sprintf($format, $number);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment