<?php
// Staring straight up into the sky ... oh my my
function spellSmallNumber($num) {
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 => 'девятнадцать'
);
1 => 'одна', 2 => 'две'
);
if($num = 0){
return $num;
}
if($num != 0) {
$wordForHund = floor($num / 100) * 100; //сотни $wordHund = $spelling[$wordForHund];
}
$wordOne = $num % 100;//слово для десятков
if($wordOne >= 11 && $wordOne <= 20) {
$wordElTw = $spelling[$wordOne];
}
else {
$tens = floor($num / 10) * 10;//слово для десятков if($tens != 0){
$tens1 = $spelling[$tens];
}
}
if($num != 0){ //единицы
$fem = $num % 100;
$fem1 = $num / 100;
if($fem = 0){
if($fem1 >= 1 && $fem1 <=2){
$fem3 = $femaleSpelling[$fem1];
}
}
$one = $num % 10;
}
return $text;
}
function getWordForm($num, $word, $word1, $word2) {
$z = $num % 10;
if($z = 1){
return $word; // тысяча, миллион
}
$z = $num % 10;
if($z >= 2 && $z <= 4){
return $word1; //тысячи, миллиона
}
else{
return $word2; // тысяч, миллионов
}
}
function inclineWord($number, $word1, $word2, $word5) {
$last2Digits = $number % 100;
if($last2Digits = 1) {
return $word1;
} elseif($last2Digits = 2 or 3 or 4) {
return $word2;
} else {
return $word5;
}
}
function spellNumber($number) {
$hundred = $number % 1000; //сотни
$withoutNum = floor($number / 1000); //без сотен $thousand = $withoutNum % 1000; //тысячN
$millions = floor($thousand / 1000); // миллионы
$numberToString = array();
$mil = spellSmallNumber($millions);
$milWord = getWordForm($millions,"миллион","миллиона","миллионов");
$thous = spellSmallNumber($thousand);
$thousWord = getWordForm($thousand,"тысяча","тысячи","тысяч");
$hund = spellSmallNumber($hundred);
$hundRouble = inclineWord($hundred,"рубль","рубля","рублей");
$end = implode(" ", $numberToString); return $end; //Господи, хоть бы работало...
}
$text1 = spellNumber($amount1);
echo "На вашем счету {$text1}\n";
$text2 = spellNumber($amount2);
echo "На вашем счету {$text2}\n";
$text3 = spellNumber($amount3);
echo "На вашем счету {$text3}\n";
$text4 = spellNumber($amount4);
echo "На вашем счету {$text4}\n";
PD9waHAKCi8vIFN0YXJpbmcgc3RyYWlnaHQgdXAgaW50byB0aGUgc2t5IC4uLiBvaCBteSBteQplcnJvcl9yZXBvcnRpbmcoLTEpOwoKCmZ1bmN0aW9uIHNwZWxsU21hbGxOdW1iZXIoJG51bSkgewoJCiRyZXN1bHQgPSBhcnJheSgpOwoJJHNwZWxsaW5nID0gYXJyYXkoCiAgICAgICAgMCAgID0+ICAn0L3QvtC70YwnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMCAgPT4gICfQtNC10YHRj9GC0YwnLCAgICAgICAxMDAgPT4gICfRgdGC0L4nLAogICAgICAgIDEgICA9PiAgJ9C+0LTQuNC9JywgICAgICAgICAxMSAgPT4gICfQvtC00LjQvdC90LDQtNGG0LDRgtGMJywgICAgICAyMCAgPT4gICfQtNCy0LDQtNGG0LDRgtGMJywgICAgIDIwMCA9PiAgJ9C00LLQtdGB0YLQuCcsCiAgICAgICAgMiAgID0+ICAn0LTQstCwJywgICAgICAgICAgMTIgID0+ICAn0LTQstC10L3QsNC00YbQsNGC0YwnLCAgICAgICAzMCAgPT4gICfRgtGA0LjQtNGG0LDRgtGMJywgICAgIDMwMCA9PiAgJ9GC0YDQuNGB0YLQsCcsCiAgICAgICAgMyAgID0+ICAn0YLRgNC4JywgICAgICAgICAgMTMgID0+ICAn0YLRgNC40L3QsNC00YbQsNGC0YwnLCAgICAgICA0MCAgPT4gICfRgdC+0YDQvtC6JywgICAgICAgIDQwMCA9PiAgJ9GH0LXRgtGL0YDQtdGB0YLQsCcsCiAgICAgICAgNCAgID0+ICAn0YfQtdGC0YvRgNC1JywgICAgICAgMTQgID0+ICAn0YfQtdGC0YvRgNC90LDQtNGG0LDRgtGMJywgICAgIDUwICA9PiAgJ9C/0Y/RgtGM0LTQtdGB0Y/RgicsICAgIDUwMCA9PiAgJ9C/0Y/RgtGM0YHQvtGCJywKICAgICAgICA1ICAgPT4gICfQv9GP0YLRjCcsICAgICAgICAgMTUgID0+ICAn0L/Rj9GC0L3QsNC00YbQsNGC0YwnLCAgICAgICA2MCAgPT4gICfRiNC10YHRgtGM0LTQtdGB0Y/RgicsICAgNjAwID0+ICAn0YjQtdGB0YLRjNGB0L7RgicsCiAgICAgICAgNiAgID0+ICAn0YjQtdGB0YLRjCcsICAgICAgICAxNiAgPT4gICfRiNC10YHRgtC90LDQtNGG0LDRgtGMJywgICAgICA3MCAgPT4gICfRgdC10LzRjNC00LXRgdGP0YInLCAgICA3MDAgPT4gICfRgdC10LzRjNGB0L7RgicsICAgIAogICAgICAgIDcgICA9PiAgJ9GB0LXQvNGMJywgICAgICAgICAxNyAgPT4gICfRgdC10LzQvdCw0LTRhtCw0YLRjCcsICAgICAgIDgwICA9PiAgJ9Cy0L7RgdC10LzRjNC00LXRgdGP0YInLCAgIDgwMCA9PiAgJ9Cy0L7RgdC10LzRjNGB0L7RgicsCiAgICAgICAgOCAgID0+ICAn0LLQvtGB0LXQvNGMJywgICAgICAgMTggID0+ICAn0LLQvtGB0LXQvNC90LDQtNGG0LDRgtGMJywgICAgIDkwICA9PiAgJ9C00LXQstGP0L3QvtGB0YLQvicsICAgICA5MDAgPT4gICfQtNC10LLRj9GC0YzRgdC+0YInLAogICAgICAgIDkgICA9PiAgJ9C00LXQstGP0YLRjCcsICAgICAgIDE5ICA9PiAgJ9C00LXQstGP0YLQvdCw0LTRhtCw0YLRjCcgICAgCiAgICApOwogICAgCiAgICAgICAgJGZlbWFsZVNwZWxsaW5nID0gYXJyYXkoCiAgICAgICAgMSAgID0+ICAn0L7QtNC90LAnLCAgICAgICAgMiAgID0+ICAn0LTQstC1JwogICAgKTsKICAgIAogICAgCiAgICBpZigkbnVtID0gMCl7CiAgICAJcmV0dXJuICRudW07CiAgICB9CiAgICAKCglpZigkbnVtICE9IDApIHsKCQkKCQkJJHdvcmRGb3JIdW5kID0gZmxvb3IoJG51bSAvIDEwMCkgKiAxMDA7IC8v0YHQvtGC0L3QuAoJCQkkd29yZEh1bmQgPSAkc3BlbGxpbmdbJHdvcmRGb3JIdW5kXTsKCQkJYXJyYXlfcHVzaCgkcmVzdWx0LCAkd29yZEh1bmQpOwoJfQoJJHdvcmRPbmUgPSAkbnVtICUgMTAwOy8v0YHQu9C+0LLQviDQtNC70Y8g0LTQtdGB0Y/RgtC60L7QsgoJaWYoJHdvcmRPbmUgPj0gMTEgJiYgJHdvcmRPbmUgPD0gMjApIHsKCQkkd29yZEVsVHcgPSAkc3BlbGxpbmdbJHdvcmRPbmVdOwoJCWFycmF5X3B1c2goJHJlc3VsdCwgJHdvcmRFbFR3KTsKfQplbHNlIHsKCgkKCSR0ZW5zID0gZmxvb3IoJG51bSAvIDEwKSAqIDEwOy8v0YHQu9C+0LLQviDQtNC70Y8g0LTQtdGB0Y/RgtC60L7QsgoJaWYoJHRlbnMgIT0gMCl7CgkkdGVuczEgPSAkc3BlbGxpbmdbJHRlbnNdOwoJYXJyYXlfcHVzaCgkcmVzdWx0LCAkdGVuczEpOwp9Cn0KCmlmKCRudW0gIT0gMCl7ICAgLy/QtdC00LjQvdC40YbRiwoJJGZlbSA9ICRudW0gJSAxMDA7CgkkZmVtMSA9ICRudW0gLyAxMDA7CglpZigkZmVtID0gMCl7CgkJaWYoJGZlbTEgPj0gMSAmJiAkZmVtMSA8PTIpewoJCSRmZW0zID0gJGZlbWFsZVNwZWxsaW5nWyRmZW0xXTsJCgkJYXJyYXlfcHVzaCgkcmVzdWx0LCAkZmVtMyk7CQoJfQoJfQoJJG9uZSA9ICRudW0gJSAxMDsKCWFycmF5X3B1c2goJHJlc3VsdCwgJG9uZSk7Cn0KCiR0ZXh0ID0gaW1wbG9kZSgnICcsICRyZXN1bHQpOwpyZXR1cm4gJHRleHQ7Cn0KCgoKZnVuY3Rpb24gZ2V0V29yZEZvcm0oJG51bSwgJHdvcmQsICR3b3JkMSwgJHdvcmQyKSB7CgkkeiA9ICRudW0gJSAxMDsKCWlmKCR6ID0gMSl7CgkJcmV0dXJuICR3b3JkOyAvLyDRgtGL0YHRj9GH0LAsINC80LjQu9C70LjQvtC9Cgl9CgkkeiA9ICRudW0gJSAxMDsKCWlmKCR6ID49IDIgJiYgJHogPD0gNCl7CgkJcmV0dXJuICR3b3JkMTsgLy/RgtGL0YHRj9GH0LgsINC80LjQu9C70LjQvtC90LAKCX0KCWVsc2V7CgkJcmV0dXJuICR3b3JkMjsgLy8g0YLRi9GB0Y/Rhywg0LzQuNC70LvQuNC+0L3QvtCyCgl9Cn0KCmZ1bmN0aW9uIGluY2xpbmVXb3JkKCRudW1iZXIsICR3b3JkMSwgJHdvcmQyLCAkd29yZDUpIHsKICAgICRsYXN0MkRpZ2l0cyA9ICRudW1iZXIgJSAxMDA7CiAgICBpZigkbGFzdDJEaWdpdHMgPSAxKSB7CiAgICAJcmV0dXJuICR3b3JkMTsKICAgIH0gZWxzZWlmKCRsYXN0MkRpZ2l0cyA9IDIgb3IgMyBvciA0KSB7CiAgICAJcmV0dXJuICR3b3JkMjsKICAgIH0gZWxzZSB7CiAgICAJcmV0dXJuICR3b3JkNTsKICAgIH0KfQogCgpmdW5jdGlvbiBzcGVsbE51bWJlcigkbnVtYmVyKSB7CgkkaHVuZHJlZCA9ICRudW1iZXIgJSAxMDAwOyAvL9GB0L7RgtC90LgKCSR3aXRob3V0TnVtID0gZmxvb3IoJG51bWJlciAvIDEwMDApOyAvL9Cx0LXQtyDRgdC+0YLQtdC9CgkkdGhvdXNhbmQgPSAkd2l0aG91dE51bSAlIDEwMDA7IC8v0YLRi9GB0Y/Rh04KCSRtaWxsaW9ucyA9IGZsb29yKCR0aG91c2FuZCAvIDEwMDApOyAvLyDQvNC40LvQu9C40L7QvdGLCgkKCSRudW1iZXJUb1N0cmluZyA9IGFycmF5KCk7CgkKCSRtaWwgPSBzcGVsbFNtYWxsTnVtYmVyKCRtaWxsaW9ucyk7CglhcnJheV9wdXNoKCRudW1iZXJUb1N0cmluZywgJG1pbCk7CgkkbWlsV29yZCA9IGdldFdvcmRGb3JtKCRtaWxsaW9ucywi0LzQuNC70LvQuNC+0L0iLCLQvNC40LvQu9C40L7QvdCwIiwi0LzQuNC70LvQuNC+0L3QvtCyIik7CglhcnJheV9wdXNoKCRudW1iZXJUb1N0cmluZywgJG1pbFdvcmQpOwoJCgkkdGhvdXMgPSBzcGVsbFNtYWxsTnVtYmVyKCR0aG91c2FuZCk7CglhcnJheV9wdXNoKCRudW1iZXJUb1N0cmluZywgJHRob3VzKTsKCSR0aG91c1dvcmQgPSBnZXRXb3JkRm9ybSgkdGhvdXNhbmQsItGC0YvRgdGP0YfQsCIsItGC0YvRgdGP0YfQuCIsItGC0YvRgdGP0YciKTsKCWFycmF5X3B1c2goJG51bWJlclRvU3RyaW5nLCAkdGhvdXNXb3JkKTsKCQoJJGh1bmQgPSBzcGVsbFNtYWxsTnVtYmVyKCRodW5kcmVkKTsKCWFycmF5X3B1c2goJG51bWJlclRvU3RyaW5nLCAkaHVuZCk7CgkkaHVuZFJvdWJsZSA9IGluY2xpbmVXb3JkKCRodW5kcmVkLCLRgNGD0LHQu9GMIiwi0YDRg9Cx0LvRjyIsItGA0YPQsdC70LXQuSIpOwoJYXJyYXlfcHVzaCgkbnVtYmVyVG9TdHJpbmcsICRodW5kUm91YmxlKTsKCQoJJGVuZCA9IGltcGxvZGUoIiAiLCAkbnVtYmVyVG9TdHJpbmcpOwoJcmV0dXJuICRlbmQ7IC8v0JPQvtGB0L/QvtC00LgsINGF0L7RgtGMINCx0Ysg0YDQsNCx0L7RgtCw0LvQvi4uLgp9CgokYW1vdW50MSA9IG10X3JhbmQoMSw5OTk5OTk5OSk7CiR0ZXh0MSA9IHNwZWxsTnVtYmVyKCRhbW91bnQxKTsKIAplY2hvICLQndCwINCy0LDRiNC10Lwg0YHRh9C10YLRgyB7JHRleHQxfVxuIjsKIAokYW1vdW50MiA9IG10X3JhbmQoMSw5OTk5OTk5OSk7CiR0ZXh0MiA9IHNwZWxsTnVtYmVyKCRhbW91bnQyKTsKIAplY2hvICLQndCwINCy0LDRiNC10Lwg0YHRh9C10YLRgyB7JHRleHQyfVxuIjsKIAokYW1vdW50MyA9IG10X3JhbmQoMSw5OTk5OTk5OSk7CiR0ZXh0MyA9IHNwZWxsTnVtYmVyKCRhbW91bnQzKTsKIAplY2hvICLQndCwINCy0LDRiNC10Lwg0YHRh9C10YLRgyB7JHRleHQzfVxuIjsKIAokYW1vdW50NCA9IG10X3JhbmQoMSw5OTk5OTk5OSk7CiR0ZXh0NCA9IHNwZWxsTnVtYmVyKCRhbW91bnQ0KTsKIAplY2hvICLQndCwINCy0LDRiNC10Lwg0YHRh9C10YLRgyB7JHRleHQ0fVxuIjs=