<?php
function spellSmallNumber($num) {
$result = array();
$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 => 'две'
);
if ($num == 0) {
return $num;
}
$hundWithoutDec = floor($num / 100) * 100; //убирает десятки у сотен
if($hundWithoutDec != 0) {
array_push($result, $spelling[$hundWithoutDec]);
}
$hundDec = $num % 100; // оставляет только десятки
if($hundDec >= 11 and $hundDec <=19) {
array_push($result, $spelling[$hundDec]);
} elseif($hundDec != 0) {
$hundDecWithoutOne = floor($hundDec / 10) * 10; //десятки без единиц
if($hundDecWithoutOne != 0) {
array_push($result, $spelling[$hundDecWithoutOne]);
}
$hundOne = $hundDec % 10;
if ($hundOne != 0) {
array_push($result, $spelling[$hundOne]);
}
}
$text = implode(' ', $result);
return $text;
}
$v = spellSmallNumber(001);
echo "$v\n";
echo"--------------------------------\n";
$w = spellSmallNumber(101);
echo "$w\n";
echo"--------------------------------\n";
$x = spellSmallNumber(056);
echo "$x\n";
echo"--------------------------------\n";
$y = spellSmallNumber(066);
echo "$y\n";
echo"--------------------------------\n";
$z = spellSmallNumber(156);
echo "$z\n";
echo"--------------------------------\n";
PD9waHAKIApmdW5jdGlvbiBzcGVsbFNtYWxsTnVtYmVyKCRudW0pIHsKJHJlc3VsdCA9IGFycmF5KCk7Cgkkc3BlbGxpbmcgPSBhcnJheSgKICAgICAgICAwICAgPT4gICfQvdC+0LvRjCcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwICA9PiAgJ9C00LXRgdGP0YLRjCcsICAgICAgIDEwMCA9PiAgJ9GB0YLQvicsCiAgICAgICAgMSAgID0+ICAn0L7QtNC40L0nLCAgICAgICAgIDExICA9PiAgJ9C+0LTQuNC90L3QsNC00YbQsNGC0YwnLCAgICAgIDIwICA9PiAgJ9C00LLQsNC00YbQsNGC0YwnLCAgICAgMjAwID0+ICAn0LTQstC10YHRgtC4JywKICAgICAgICAyICAgPT4gICfQtNCy0LAnLCAgICAgICAgICAxMiAgPT4gICfQtNCy0LXQvdCw0LTRhtCw0YLRjCcsICAgICAgIDMwICA9PiAgJ9GC0YDQuNC00YbQsNGC0YwnLCAgICAgMzAwID0+ICAn0YLRgNC40YHRgtCwJywKICAgICAgICAzICAgPT4gICfRgtGA0LgnLCAgICAgICAgICAxMyAgPT4gICfRgtGA0LjQvdCw0LTRhtCw0YLRjCcsICAgICAgIDQwICA9PiAgJ9GB0L7RgNC+0LonLCAgICAgICAgNDAwID0+ICAn0YfQtdGC0YvRgNC10YHRgtCwJywKICAgICAgICA0ICAgPT4gICfRh9C10YLRi9GA0LUnLCAgICAgICAxNCAgPT4gICfRh9C10YLRi9GA0L3QsNC00YbQsNGC0YwnLCAgICAgNTAgID0+ICAn0L/Rj9GC0YzQtNC10YHRj9GCJywgICAgNTAwID0+ICAn0L/Rj9GC0YzRgdC+0YInLAogICAgICAgIDUgICA9PiAgJ9C/0Y/RgtGMJywgICAgICAgICAxNSAgPT4gICfQv9GP0YLQvdCw0LTRhtCw0YLRjCcsICAgICAgIDYwICA9PiAgJ9GI0LXRgdGC0YzQtNC10YHRj9GCJywgICA2MDAgPT4gICfRiNC10YHRgtGM0YHQvtGCJywKICAgICAgICA2ICAgPT4gICfRiNC10YHRgtGMJywgICAgICAgIDE2ICA9PiAgJ9GI0LXRgdGC0L3QsNC00YbQsNGC0YwnLCAgICAgIDcwICA9PiAgJ9GB0LXQvNGM0LTQtdGB0Y/RgicsICAgIDcwMCA9PiAgJ9GB0LXQvNGM0YHQvtGCJywgICAgCiAgICAgICAgNyAgID0+ICAn0YHQtdC80YwnLCAgICAgICAgIDE3ICA9PiAgJ9GB0LXQvNC90LDQtNGG0LDRgtGMJywgICAgICAgODAgID0+ICAn0LLQvtGB0LXQvNGM0LTQtdGB0Y/RgicsICAgODAwID0+ICAn0LLQvtGB0LXQvNGM0YHQvtGCJywKICAgICAgICA4ICAgPT4gICfQstC+0YHQtdC80YwnLCAgICAgICAxOCAgPT4gICfQstC+0YHQtdC80L3QsNC00YbQsNGC0YwnLCAgICAgOTAgID0+ICAn0LTQtdCy0Y/QvdC+0YHRgtC+JywgICAgIDkwMCA9PiAgJ9C00LXQstGP0YLRjNGB0L7RgicsCiAgICAgICAgOSAgID0+ICAn0LTQtdCy0Y/RgtGMJywgICAgICAgMTkgID0+ICAn0LTQtdCy0Y/RgtC90LDQtNGG0LDRgtGMJyAgICAKICAgICk7CiAKICAgICAgICAkZmVtYWxlU3BlbGxpbmcgPSBhcnJheSgKICAgICAgICAxICAgPT4gICfQvtC00L3QsCcsICAgICAgICAyICAgPT4gICfQtNCy0LUnCiAgICApOwogCmlmICgkbnVtID09IDApIHsKCXJldHVybiAkbnVtOwp9CgogCiRodW5kV2l0aG91dERlYyA9IGZsb29yKCRudW0gLyAxMDApICogMTAwOyAvL9GD0LHQuNGA0LDQtdGCINC00LXRgdGP0YLQutC4INGDINGB0L7RgtC10L0KaWYoJGh1bmRXaXRob3V0RGVjICE9IDApIHsKYXJyYXlfcHVzaCgkcmVzdWx0LCAkc3BlbGxpbmdbJGh1bmRXaXRob3V0RGVjXSk7Cn0KJGh1bmREZWMgPSAkbnVtICUgMTAwOyAvLyDQvtGB0YLQsNCy0LvRj9C10YIg0YLQvtC70YzQutC+INC00LXRgdGP0YLQutC4CmlmKCRodW5kRGVjID49IDExIGFuZCAkaHVuZERlYyA8PTE5KSB7CglhcnJheV9wdXNoKCRyZXN1bHQsICRzcGVsbGluZ1skaHVuZERlY10pOwp9IGVsc2VpZigkaHVuZERlYyAhPSAwKSB7CiRodW5kRGVjV2l0aG91dE9uZSA9IGZsb29yKCRodW5kRGVjIC8gMTApICogMTA7IC8v0LTQtdGB0Y/RgtC60Lgg0LHQtdC3INC10LTQuNC90LjRhgppZigkaHVuZERlY1dpdGhvdXRPbmUgIT0gMCkgewphcnJheV9wdXNoKCRyZXN1bHQsICRzcGVsbGluZ1skaHVuZERlY1dpdGhvdXRPbmVdKTsKfQoKJGh1bmRPbmUgPSAkaHVuZERlYyAlIDEwOwoKaWYgKCRodW5kT25lICE9IDApIHsKYXJyYXlfcHVzaCgkcmVzdWx0LCAkc3BlbGxpbmdbJGh1bmRPbmVdKTsKfQp9CiAKJHRleHQgPSBpbXBsb2RlKCcgJywgJHJlc3VsdCk7CnJldHVybiAkdGV4dDsKfQoKJHYgPSBzcGVsbFNtYWxsTnVtYmVyKDAwMSk7CmVjaG8gIiR2XG4iOwplY2hvIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iOwoKJHcgPSBzcGVsbFNtYWxsTnVtYmVyKDEwMSk7CmVjaG8gIiR3XG4iOwplY2hvIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iOwoKJHggPSBzcGVsbFNtYWxsTnVtYmVyKDA1Nik7CmVjaG8gIiR4XG4iOwplY2hvIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iOwoKJHkgPSBzcGVsbFNtYWxsTnVtYmVyKDA2Nik7CmVjaG8gIiR5XG4iOwplY2hvIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iOwoKJHogPSBzcGVsbFNtYWxsTnVtYmVyKDE1Nik7CmVjaG8gIiR6XG4iOwplY2hvIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iOwo=