- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
<?php
// Staring straight up into the sky ... oh my my
error_reporting(-1);
mb_internal_encoding('utf-8');
/* Возвращает соответствующую числу форму слова: 1 рубль, 2 рубля, 5 рублей */
function inclineWord($number, $word1, $word2, $word5) {
if ($number == 0){
return;
}
$foo = substr(strrev($number), 0);
if ($foo == 1) {
return $word1;
} elseif ($foo >= 5){
return $word5;
} else {
return $word2;
}
}
/*
Преобразует числа от 0 до 999 в текст. Параметр $isFemale равен нулю,
если мы считаем число для мужского рода (один рубль),
и 1 — для женского (одна тысяча)
*/
function smallNumberToText($number, $isFemale) {
if ($number == 0){
return;
}
$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 => 'две'
);
}
function numberToText($number) {
$arr = str_split(strrev($number), 1);
$end = $arr[2].$arr[1].$arr[0];
$middle = $arr[5].$arr[4].$arr[3];
$head = $arr[8].$arr[7].$arr[6];
$e = 1;
$m = 2;
$h = 3;
return $head;
$rub = inclineWord($ed, "рубль", "рубля", "рублей");
$tys = inclineWord($k, "тысяча", "тысячи", "тысяч");
$mil = inclineWord($kk, "миллион", "миллиона", "миллионов");
}
/* Вызовем функцию несколько раз */
$amount1 = mt_rand(1,99999999);
$text1 = numberToText($amount1);
echo "На вашем счету {$text1}\n";
/*
$amount2 = mt_rand(1,99999999);
$text2 = numberToText($amount2);
echo "На вашем счету {$text2}\n";
$amount3 = mt_rand(1,99999999);
$text3 = numberToText($amount3);
echo "На вашем счету {$text3}\n";
$amount4 = mt_rand(1,99999999);
$text4 = numberToText($amount4);
echo "На вашем счету {$text4}\n";
*/