Функция для склонения существительного в зависимости от числа.
Склонять существительное в зависимости от числа в php! Как делать склонение существительного через php в зависимости от числа!
Php Склонение в зависимости от числа
- Как будем склонять!?
- Принцип скрипта для склонения существительного в зависимости от числа.
- Функция для склонения существительного в зависимости от числа.
- Как сделать склонение существительного в зависимости от числа с пробелом?
Вторая функция для склонения существительного в зависимости от числа.- Что в архиве?
- Скачать
Как будем склонять!?
Начнем с того - что и как будем склонять и зачем?
Разберем пример, с которым я столкнулся и как это склонение работает!?
Мне нужно, чтобы автоматически слово "год", если это например:
«1 год», преобразовывалось в года.
в «2 года»
и в – лет, это, когда 5 лет.
Можно конечно, как все говорят умники вручную прописывать там, где это нужно… ну да.. вы можете это делать вручную, но зачем!?
И потом, если у вас динамическая дата должна выводиться …, например, мне в этом году 1 год, а в следующем году уже будет 2 года и т.д.
Не буду же я каждый год - вспоминать, где же "мои года" нужно менять – у меня нет места в голове…чтобы это помнить, да и не хочу…
И да… кстати… во времена СССР я еле-еле вытягивал не 3, а теперь, как мне кажется, среди этой вакханалии с русским языком… , что я наблюдаю… то я практически отличник…
У нас будет:
Но:
2 года
3 года
4 года
И но:
5 лет
6 лет и т.д.
Исключения
11 лет
12 лет
13 лет
14 лет
И так до 20 включительно
Принцип работы склонения существительного в зависимости от числа.
Для того, чтобы написать функцию "склонения существительного в зависимости от числа" вма потребуется написать... предварительно сам скрипт, а уже потом поместить его в функцию.
Помещаем в переменную ваше число:
Последний элемент строки получаем в php - в смысле последний элемент нашего числа:
И еще вам понадобится два элемента строки :
Из выше выведенного, мы можем вывести некий алгоритм для нашего скрипта.
Если последний элемент строки – равен 1 и не равен 11, то Это:
Если последний элемент строки – равен 2(3,4) и не равен 12(13,14), то:
Во всех остальных случаях:
Соберем все вместе:
Код склонения склонения существительного в зависимости от числа:
<?
$var =21;
?>
Весь код вы сможете скачать в отдельном файле.
Пример работы Кода склонения склонения существительного в зависимости от числа:
Далее выведем весь код прямо здесь и вы увидите результат:
Наш код замечательно изменил слово "год" в зависимости от числа!
Теперь Вам нужно этот код обернуть в функцию, чтобы вы могли его использовать
Функция для склонения существительного в зависимости от числа.
Следующий шаг, наш скрипт обернуть в функцию -> это будет намного удобнее использовать и вообще!
Использование функции для склонения существительного в зависимости от числа.
Если вам нужно увидеть результат работы функции для склонения существительного в зависимости от числа.
То берем число(любое), путь это будет 126 и применим к этому числу нашу функцию и выводим с помощью echo:
Результат:
И... Чтобы было наглядно, давайте протестируем эту функцию в цикле:
<?
for ($i=1; $i <25; $i++) {
echo incline($i, 'год','года','лет').'<br>';
}
?>
Пример работы кода склонения существительного в зависимости от числа.
Разместим выше приведенный код прямо здесь:
2года
3года
4года
5лет
6лет
7лет
8лет
9лет
10лет
11лет
12лет
13лет
14лет
15лет
16лет
17лет
18лет
19лет
20лет
21год
22года
23года
24года
Как сделать склонение существительного в зависимости от числа с пробелом?
Вам нужно, чтобы между числом и просклонённым словом был пробел... - делается очень просто, в функцию записываем склоняемые числа с пробелом впереди
Результат:
И... аналогично пропустим в цикле? только изменим откуда до сколки : 90 - 115;
91 слон
92 слона
93 слона
94 слона
95 слонов
96 слонов
97 слонов
98 слонов
99 слонов
100 слонов
101 слон
102 слона
103 слона
104 слона
105 слонов
106 слонов
107 слонов
108 слонов
109 слонов
110 слонов
111 слонов
112 слонов
113 слонов
114 слонов
Вторая функция для склонения существительного в зависимости от числа.
Дополнительно - нашел другую функцию "склонения существительного в зависимости от числа", только была написана под js, модифицировал её под php - работает аналогично(алгоритм другой... просто было интересно!):
Результат склонения существительного в зависимости от числа.
Ещё пример склонения существительного в зависимости от числа.
результат:
Скачать скрипт склонение существительного в зависимости от числа.
Скачать можно здесь.
В архиве два примера