<?php
<?php
$number =1000;
function inclineWord($number, $word1, $word2, $word5)
{

    if ($number%100 >= 11 && $number%100 <= 19) {
        return $word5;
    }
    elseif ($number%10 === 1) {
        return $word1;
    } elseif ($number%10 >= 2 && $number%10 <= 4) {
        return $word2;
    } else {
        return ($word5);
    }
}
$result1 = inclineWord( $number, 'рубль', 'рубля', 'рублей');
echo "$number $result1 \n";
function numberToWords($number)
{
    $ones = array(
        1 => 'один',
        2 => 'два',
        3 => 'три',
        4 => 'четыре',
        5 => 'пять',
        6 => 'шесть',
        7 => 'семь',
        8 => 'восемь',
        9 => 'девять'
    );

    $tens = array(
        10 => 'десять',
        11 => 'одиннадцать',
        12 => 'двенадцать',
        13 => 'тринадцать',
        14 => 'четырнадцать',
        15 => 'пятнадцать',
        16 => 'шестнадцать',
        17 => 'семнадцать',
        18 => 'восемнадцать',
        19 => 'девятнадцать',
        20 => 'двадцать',
        30 => 'тридцать',
        40 => 'сорок',
        50 => 'пятьдесят',
        60 => 'шестьдесят',
        70 => 'семьдесят',
        80 => 'восемьдесят',
        90 => 'девяносто'
    );

    $hundreds = array(
        100 => 'сто',
        200 => 'двести',
        300 => 'триста',
        400 => 'четыреста',
        500 => 'пятьсот',
        600 => 'шестьсот',
        700 => 'семьсот',
        800 => 'восемьсот',
        900 => 'девятьсот'
    );

    $femen = array (
        1=> 'одна',
        2=> 'две'
    );

    $result = '';

    if ($number == 0) {
        return 'ноль';
    }

    if ($number < 0) {
        $result = 'минус ';
        $number = abs($number);
    }
    if ($number >= 1000000) {
        $millions = floor($number / 1000000);
        function inclineMillion($millions, $word11, $word12, $word15)
        {
            if ($millions  >= 11 && $millions   <= 19) {
                return $word15;
            }
            elseif ($millions %10 == 1) {
                return $word11;
            } elseif ($millions %10   >= 2 && $millions %10   <= 4) {
                return $word12;
            } else {
                return ($word15);
            }
        }
        $result2 = inclineMillion( $millions, ' миллион ', ' миллиона', ' миллионов ');

        $result .= numberToWords($millions) . $result2;
        $number %= 1000000;
    }

    if ($number >= 1000 && $number <= 999999) {
        $thousands = floor($number / 1000);
        function inclineThousands($thousands, $word21, $word22, $word25)
        {
            if ($thousands  >= 11 && $thousands   <= 19) {
                return $word25;
            }
            elseif ($thousands %10 == 1) {
                return $word21;
            } elseif ($thousands %10   >= 2 && $thousands %10   <= 4) {
                return $word22;
            } else {
                return ($word25);
            }

        }

        $result3 = inclineThousands( $thousands, ' тысяча ', ' тысячи ', ' тысяч ');
        if ($thousands ==1 && $thousands %100==1) {
            $result .= 'одна'. $result3;
        }   else {
            $result .= numberToWords($thousands) . $result3;
        }
        $number %= 1000;
    }

    if ($number >= 100) {
        $hundred = floor($number / 100) * 100;
        $result .= $hundreds[$hundred] . ' ';
        $number %= 100;
    }

    if ($number >= 10 && $number <= 20) {
        $result .= $tens[$number] . ' ';
        $number = 0;
    } elseif ($number >= 10) {
        $ten = floor($number / 10) * 10;
        $result .= $tens[$ten] . ' ';
        $number %= 10;
    }

    if ($number > 0) {
        $result .= $ones[$number] . ' ';
    }

    return trim($result);
}
$result= numberToWords ($number);
echo "$result $result1\n";
