К основному контенту

"10 негритенка" или как правильно сформировать подпись к числу

 Для того чтобы добавить окончания к числам (1 человек, 2 человека, 5 людей), я использую следующий PHP скрипт:
    /**
     * Формирование надписей к количеству (олень, оленя, оленей)
     *
     * @param int $n - Числовое значение
     * @param string $form1 - 1 человек, ребенок
     * @param string $form2 - 2 человека, ребенка
     * @param string $form5 - 5 человек, детей
     * @return string - результат
     */
    function wordDeclension($n, $form1, $form2, $form5)
    {
        $n = abs($n) % 100;
        $n1 = $n % 10;
        if ($n > 10 && $n < 20) return $form5;
        if ($n1 > 1 && $n1 < 5) return $form2;
        if ($n1 == 1) return $form1;
        return $form5;
    }
     
    // переберем для примера
    for($afro_childs = 10; $afro_childs > 0;$afro_childs--){
    
            echo $afro_childs . " " .
            wordDeclension($afro_childs, 'негритенок', 'негритенка', 'негритят');  

    }
Результат:


10 негритят
9 негритят
8 негритят
7 негритят
6 негритят
5 негритят
4 негритенка
3 негритенка
2 негритенка
1 негритенок

Комментарии

Популярные сообщения из этого блога

Что за место?

Сон, усталость и эффективность - есть связь!

Не зря треть жизни мы проводим во сне...

Удаление всех запущенных контейнеров

Для остановки/удаления всех запущенных контейнеров можно использовать следующие команды Остановить: docker stop $ ( docker ps - a - q ) Удалить: docker rm $ ( docker ps - a - q )