Самый лаконичный вариант функции для выбора правильного склонения множественного числа на php.

$w1 = 'товар'; /* 1 */
$w2 = 'товара'; /* 2 */
$w5 = 'товаров'; /* 5 */

function plural_form($x, $w1, $w2, $w5)
{
    $w = array($w1, $w2, $w5);
    $d = ($p = $x % 100) % 10;

    return $x . ' ' . $w[$p == 11 || $d == 0 || ($p >= 10 && $p <= 20) || ($d >= 5 && $d <= 9) ? 2 : ($d == 1 ? 0 : 1)];
}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *