<?php
error_reporting(-1);

function smallNumbers($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 => 'две '
	);
 
	$result = '';
	$hundreds = 0; $tens = 0; $ones = 0;
 
	$hundreds = (floor($number/100))*100;
	if ($hundreds >= 100) {
		$result .= $spelling[$hundreds];
	}
 
	$remains = $number - $hundreds;
	
	if ($remains == 0) {
		return $result;
	} elseif ($remains >= 20) {
		$tens = (floor($remains/10))*10;
		$result .= $spelling[$tens];
 
		$ones = $remains - $tens;
		if (($ones < 3) && ($ones > 0) && ($isFemale == true)) {
			$result .= $femaleSpelling[$ones];
		} elseif ($ones > 0) {
			$result .= $spelling[$ones];
		}
	} elseif (($remains < 20) && ($isFemale == false)) {
		$result .= $spelling[$remains];
	} elseif (($remains < 3) && ($isFemale == true)) {
		$result .= $femaleSpelling[$remains];
	} else {
		$result .= $spelling[$remains];
	}
 
	return $result;
} 

for ($i=0; $i<1000; $i++) {
//	$a = smallNumbers($i, false);
	$b = smallNumbers($i, true);
	echo "$i - $b\n";
}
