DWWEB.RU
СКРИПТЫ

Год, года, лет в php в зависимости от числа

2019/09/22 Марат 129 0 PHP |

Нам нужно, чтобы автоматически слово год, если это например «1 год», преобразовывалось в года, например «2 года» и последнее – лет, это, когда 5 лет.

Можно конечно, как все говорят умники вручную прописывать там, где это нужно… ну да.. вы можете это делать вручную, но зачем!?

Как-то мне нужно было разобраться с падежами - поэтому слово склонение в заголовке не стал употреблять!

И потом, если у вас динамичная дата должна выводиться …, например, мне в этом году 1 год, а в следующем году уже будет 2 года и т.д. Не буду же я каждый год - вспоминать, где же мои года нужно изменить – у меня нет места в голове…чтобы это помнить, да и не хочу…

Давайте теперь разберемся с русским языком…

И да… кстати… во времена СССР я еле-еле вытягивал не 3, а теперь, как мне кажется, среди этой вакханалии с русским языком… , что я наблюдаю… то я практически отличник…

Мы немного отвлеклись…

У нас будет:

1 год

Но:

2 года

3 года

4 года

И но:

5 лет

6 лет и т.д.

Исключения

11 лет

12 лет

13 лет

14 лет

Вариант №1

Сразу давайте получим в переменную наши года… и чтобы после строки алгоритма… мы уже могли написать код…

$perem = ‘тут число’;

Последний элемент строки:

$FIRST_NUM_OF_LEFT = substr( $perem , -1);

Два последних элемента строки:

$TWO_NUM_OF_LEFT = substr( $perem , -2);

Из выше выведенного, мы можем вывести некий алгоритм для нашего скрипта.

Если последний элемент строки – равен 1 и не равен 11, то год

if($FIRST_NUM_OF_LEFT =="1" and $TWO_NUM_OF_LEFT !="11") { echo $perem." год";}

Если последний элемент строки – равен 2(3,4) и не равен 12(13,14), то года

elseif($FIRST_NUM_OF_LEFT =="2" and $TWO_NUM_OF_LEFT !="12") { echo $perem." года";}

elseif($FIRST_NUM_OF_LEFT =="3" and $TWO_NUM_OF_LEFT !="13") { echo $perem." года";}

elseif($FIRST_NUM_OF_LEFT =="4" and $TWO_NUM_OF_LEFT !="14") { echo $perem." года";}

Во всех остальных случаях:

else{ echo $perem." лет"; }

Соберем все вместе:

$perem = 21;

$FIRST_NUM_OF_LEFT = substr( $perem , -1);

$TWO_NUM_OF_LEFT = substr( $perem , -2);

if($FIRST_NUM_OF_LEFT =="1" and $TWO_NUM_OF_LEFT !="11") { echo $perem." год";}

elseif($FIRST_NUM_OF_LEFT =="2" and $TWO_NUM_OF_LEFT !="12") { echo $perem." года";}

elseif($FIRST_NUM_OF_LEFT =="3" and $TWO_NUM_OF_LEFT !="13") { echo $perem." года";}

elseif($FIRST_NUM_OF_LEFT =="4" and $TWO_NUM_OF_LEFT !="14") { echo $perem." года";}

else{ echo $perem." лет"; }

результат:

21 годНе забудь !
Название скрипта :Год, года, лет в php в зависимости от числа
Скрипт № 28.2
Скачать - архив
Все скрипты на одной странице
Оставить комментарийCOMMENTS+
Сообщений пока нет - Вы можете стать первым
BBcode
нажмите, чтобы загрузить аватар
Загрузить свой аватар(max ширина, высота = 100px) ( как это работает)

Закрыть
+ =
Подписаться
Теги:

НАШИ ПРОЕКТЫ : Проекты находятся в разной степени готовности (просто их столько, что времени не хватает…) Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2019