Как сделать склонение слов после числительных дней в php?

у меня есть код который высчитывает кол-во дней с определённой даты. Я хочу сделать чтобы в зависимости от количества дней выводилось когда прошёл 1 день 2 дня 5 дней и т.д Вот как у меня сделано сейчас:

$work = time(); 
$time = mktime(0, 0, 0, 8, 21, 2022); 
echo " работает уже ".floor(($work - $time) / 86400);
echo " дня";

Ответы (1 шт):

Автор решения: rusgeli

Есть вот такой вариант:

$work = time(); 
$time = mktime(0, 0, 0, 4, 21, 2022); 
$diff = floor(($work - $time) / 86400);
echo " работает уже " . $diff . " " . echo_days($diff);


function echo_days($days) {
    if($days % 10 == 1 && ($days % 100 > 19 || $days < 11 )) {
        return "день";
    } else if ($days % 10 > 1 && $days % 10 < 5 && ($days % 100 >19 || $days < 11 )) {
        return "дня";
    } else {
        return "дней";
    }
}
→ Ссылка