<?php
function smallNumberToText($number, $isFemale)
{

    $spelling = array(
        0 => 'ноль', 10 => 'десять', 100 => 'сто',
        1 => 'один', 11 => 'одиннадцать', 20 => 'двадцать', 200 => 'двести',
        2 => 'два', 12 => 'двенадцать', 30 => 'тридцать', 300 => 'триста',
        3 => 'три', 13 => 'тринадцать', 40 => 'сорок', 400 => 'четыреста',
        4 => 'четыре', 14 => 'четырнадцать', 50 => 'пятьдесят', 500 => 'пятьсот',
        5 => 'пять', 15 => 'пятнадцать', 60 => 'шестьдесят', 600 => 'шестьсот',
        6 => 'шесть', 16 => 'шестнадцать', 70 => 'семьдесят', 700 => 'семьсот',
        7 => 'семь', 17 => 'семнадцать', 80 => 'восемьдесят', 800 => 'восемьсот',
        8 => 'восемь', 18 => 'восемнадцать', 90 => 'девяносто', 900 => 'девятьсот',
        9 => 'девять', 19 => 'девятнадцать'
    );

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

    $strNum = '';
    $hundred = floor($number / 100);
    $dec = floor(($number % 100) / 10);
    $firstNumber = $number % 10;
    if ($hundred) {
        $key = (int)$hundred * 100;
        $strNum .= $spelling[$key] . ' ';
    }

    if ($dec) {
        if ($dec == 1) {
            $key = $number % 100;
            $strNum .= $spelling[$key] . ' ';
        } else {
            $key = (int)$dec * 10;
            $strNum .= $spelling[$key] . ' ';
        }
        if (!$firstNumber) {
            return $strNum;
        }
    }

    if ($dec != 1) {
        if ((($firstNumber == 1) or ($firstNumber == 2)) and ($isFemale == 1)) {
            $strNum .= $femaleSpelling[$firstNumber] . ' ';
        } else {
            $strNum .= $spelling[$firstNumber];
        }
    }
    return $strNum;
}

for ($i = 0; $i < 1000; $i++) {
    print_r(smallNumberToText($i, 0) . "\n");
}