Правильный вывод подписи к цифрам

Часто требуется в проектах, особенно в корзине, при выводе кол-ва товаров подписывать, например вместо 2 шт, 6 шт. вывести 2 штуки, 6 штук и т.д.

Вот самая простая функция подстановки:

function plurals($ss,$as1,$as2,$as3)

{

$ns = abs($ss) % 100;

$ns1 = $ns % 10;

if ($ns > 10 && $ns < 20) return $as3;

if ($ns1 > 1 && $ns1 < 5) return $as2;

if ($ns1 == 1) return $as1;

return $as3;

}

Использовать :

echo '2 '.plurals(2,'товар','товара','товаров');

Выведет : 2 товара

Комментарии к статье
Защита от роботов