fork(4) download
  1. <?php
  2. <?php
  3. $number =1000;
  4. function inclineWord($number, $word1, $word2, $word5)
  5. {
  6.  
  7. if ($number%100 >= 11 && $number%100 <= 19) {
  8. return $word5;
  9. }
  10. elseif ($number%10 === 1) {
  11. return $word1;
  12. } elseif ($number%10 >= 2 && $number%10 <= 4) {
  13. return $word2;
  14. } else {
  15. return ($word5);
  16. }
  17. }
  18. $result1 = inclineWord( $number, 'рубль', 'рубля', 'рублей');
  19. echo "$number $result1 \n";
  20. function numberToWords($number)
  21. {
  22. $ones = array(
  23. 1 => 'один',
  24. 2 => 'два',
  25. 3 => 'три',
  26. 4 => 'четыре',
  27. 5 => 'пять',
  28. 6 => 'шесть',
  29. 7 => 'семь',
  30. 8 => 'восемь',
  31. 9 => 'девять'
  32. );
  33.  
  34. $tens = array(
  35. 10 => 'десять',
  36. 11 => 'одиннадцать',
  37. 12 => 'двенадцать',
  38. 13 => 'тринадцать',
  39. 14 => 'четырнадцать',
  40. 15 => 'пятнадцать',
  41. 16 => 'шестнадцать',
  42. 17 => 'семнадцать',
  43. 18 => 'восемнадцать',
  44. 19 => 'девятнадцать',
  45. 20 => 'двадцать',
  46. 30 => 'тридцать',
  47. 40 => 'сорок',
  48. 50 => 'пятьдесят',
  49. 60 => 'шестьдесят',
  50. 70 => 'семьдесят',
  51. 80 => 'восемьдесят',
  52. 90 => 'девяносто'
  53. );
  54.  
  55. $hundreds = array(
  56. 100 => 'сто',
  57. 200 => 'двести',
  58. 300 => 'триста',
  59. 400 => 'четыреста',
  60. 500 => 'пятьсот',
  61. 600 => 'шестьсот',
  62. 700 => 'семьсот',
  63. 800 => 'восемьсот',
  64. 900 => 'девятьсот'
  65. );
  66.  
  67. $femen = array (
  68. 1=> 'одна',
  69. 2=> 'две'
  70. );
  71.  
  72. $result = '';
  73.  
  74. if ($number == 0) {
  75. return 'ноль';
  76. }
  77.  
  78. if ($number < 0) {
  79. $result = 'минус ';
  80. $number = abs($number);
  81. }
  82. if ($number >= 1000000) {
  83. $millions = floor($number / 1000000);
  84. function inclineMillion($millions, $word11, $word12, $word15)
  85. {
  86. if ($millions >= 11 && $millions <= 19) {
  87. return $word15;
  88. }
  89. elseif ($millions %10 == 1) {
  90. return $word11;
  91. } elseif ($millions %10 >= 2 && $millions %10 <= 4) {
  92. return $word12;
  93. } else {
  94. return ($word15);
  95. }
  96. }
  97. $result2 = inclineMillion( $millions, ' миллион ', ' миллиона', ' миллионов ');
  98.  
  99. $result .= numberToWords($millions) . $result2;
  100. $number %= 1000000;
  101. }
  102.  
  103. if ($number >= 1000 && $number <= 999999) {
  104. $thousands = floor($number / 1000);
  105. function inclineThousands($thousands, $word21, $word22, $word25)
  106. {
  107. if ($thousands >= 11 && $thousands <= 19) {
  108. return $word25;
  109. }
  110. elseif ($thousands %10 == 1) {
  111. return $word21;
  112. } elseif ($thousands %10 >= 2 && $thousands %10 <= 4) {
  113. return $word22;
  114. } else {
  115. return ($word25);
  116. }
  117.  
  118. }
  119.  
  120. $result3 = inclineThousands( $thousands, ' тысяча ', ' тысячи ', ' тысяч ');
  121. if ($thousands ==1 && $thousands %100==1) {
  122. $result .= 'одна'. $result3;
  123. } else {
  124. $result .= numberToWords($thousands) . $result3;
  125. }
  126. $number %= 1000;
  127. }
  128.  
  129. if ($number >= 100) {
  130. $hundred = floor($number / 100) * 100;
  131. $result .= $hundreds[$hundred] . ' ';
  132. $number %= 100;
  133. }
  134.  
  135. if ($number >= 10 && $number <= 20) {
  136. $result .= $tens[$number] . ' ';
  137. $number = 0;
  138. } elseif ($number >= 10) {
  139. $ten = floor($number / 10) * 10;
  140. $result .= $tens[$ten] . ' ';
  141. $number %= 10;
  142. }
  143.  
  144. if ($number > 0) {
  145. $result .= $ones[$number] . ' ';
  146. }
  147.  
  148. return trim($result);
  149. }
  150. $result= numberToWords ($number);
  151. echo "$result $result1\n";
  152.  
Runtime error #stdin #stdout #stderr 0.03s 25668KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
PHP Parse error:  syntax error, unexpected '<', expecting end of file in /home/ZUJISS/prog.php on line 2