Ваш ключ: необходима авторизация | MyProxy - бесплатный обменник валидных прокси между пользователями форума.

Правильные окончания у существительных PHP

Тема в разделе PHP, создана пользователем ERROR404, 5 май 2016.

Войдите для ответа
  1. ERROR404 Администратор

    ERROR404
    Статус:
    Вне сети
    Не знаю, можно ли как-то оптимизировать данную функцию, но использую ее, писал сам

    Функция выводит слово "просмотр" в нужном падеже, аналогично можно сделать для других слов

    function goodName ($type, $value) { // Выводит существительные в нужном склонении
        if (strlen($value) > 2) {
            $value = substr($value, -2);
            if ($type == 'views') {
                if (preg_match('/^[2-4]$/', $value) OR preg_match('/^[^1][2-4]$/', $value)) {
                    return 'просмотра';
                } elseif (preg_match('/^1$/', $value) OR preg_match('/^[^1]1$/', $value)) {
                    return 'просмотр';
                }
                else {
                    return 'просмотров';
                }
        }
    }
        else  {
            if ($type == 'views') {
                if (preg_match('/^[2-4]$/', $value) OR preg_match('/^[^1][2-4]$/', $value)) {
                    return 'просмотра';
                } elseif (preg_match('/^1$/', $value) OR preg_match('/^[^1]1$/', $value)) {
                    return 'просмотр';
                }
                else {
                    return 'просмотров';
                }
            }
        }
    }
    Использование:

    echo goodName($value);
     
    5 май 2016 #1
Top