Это короткая статейка о том, как написать функцию склоняющее число.
Например, 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"; } }
А вот пример использования функции:
// сколько мне дней $birthday = mktime(0, 0, 0, 1, 24, 1989); // 24 января 1989 года echo "Мой возраст: " . numForm(round((time()-$birthday)/ 86400), "день", "дня", "дней");