Склонение слов

Это короткая статейка о том, как написать функцию склоняющее число.
Например, 1 день, 2 дня или 5 дней. В приведенном мной примере, склоняется число дней. В php я не нашел стандартных функций выполняющих склонение слова, поэтому я решил изобрести свою. По сути, функция очень простая: функция будет получать число и три формы слова, проанализировав число, функция выберет нужную форму.

Вот так выглядит сама функция:

function numForm($number, $forma1, $forma2, $forma3){
if(($number == «0») or (($number >= «5») and ($number <= "20")) or preg_match("|[056789]$|",$number)){ return "$number $forma3"; } if(preg_match("|[1]$|",$number)){ return "$number $forma1"; } if(preg_match("|[234]$|",$number)){ return "$number $forma2"; } } [/php] А вот пример использования функции: [php] // сколько мне дней $birthday = mktime(0, 0, 0, 1, 24, 1989); // 24 января 1989 года echo "Мой возраст: " . numForm(round((time()-$birthday)/ 86400), "день", "дня", "дней"); [/php]

Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*