28.04.2015

Выложу функцию, которую использую на каждом проекте. Это функция для склонения слов. В основном используется данная функция в интернет-магазине. Так или иначе, всегда есть и будут слова, которые на сайте нужно склонять: товары/товар/товара или подписчик/подписчика/подписчиков. Очень давно нашел очень простую и маленькую функцию для работы с этим делом. В итоге все это выглядит вот так:

function sklonenie($n, $forms) { return $n%10==1&&$n%100!=11?$forms[0]:($n%10>=2&&$n%10<=4&&($n%100<10||$n%100>=20)?$forms[1]:$forms[2]); }

Функция содержит в себе 2 параметра: $n и $forms

$n - это количество к которому нужно указать склонение.

$forms - это массив, состоящий из 3-х элементов.

В итоге получаем простую и маленькую функцию для работы. Рекомендую указывать данную функцию в файле init.php, чтобы ей всегда и везде было удобно и просто воспользоваться.

Вариант использования функции

<?=sklonenie($n, array("Товар", "Товара", "Товаров"))?>

Можно, конечно, изменить вариацию до

Товар<?=sklonenie($n, array("", "а", "ов"))?>

Тут дело вкуса. Только стоит помнить, что для Битрикса правильнее использовать языковые переменные.


Возврат к списку

Спасибо. Ваше сообщение было успешно отправлено.
Mы свяжемся с Вами в ближайшее время.