Это короткая статейка о том, как написать функцию склоняющее число.
Например, 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), "день", "дня", "дней");
