fork(2) download
  1. <?php
  2.  
  3.  
  4.  
  5. /*
  6. Возвращает соответствующую числу форму слова: 1 рубль, 2 рубля, 5 рублей.
  7. */
  8.  
  9. function inclineWord($num){
  10. floor($num%100) <= 11 && floor($num%100) >= 19 ? $currency= " рублей" : (
  11. floor($num%10) == 1 ? $currency = " рубль" : (
  12. floor($num%10) >= 2 && floor($num%10) <= 4 ? $currency = " рубля" :
  13. $currency = " рублей"
  14. )
  15. );
  16. return $currency;
  17. }
  18.  
  19. function inclineThou($thou){
  20. floor($thou%100) <= 11 && floor($thou%100) >= 19 ? $value = " тысяч " : (
  21. floor($thou%10) == 1 ? $value = " тысяча " : (
  22. floor($thou%10) >= 2 && floor($thou%10) <= 4 ? $value = " тысячи "
  23. : $value = " тысяч "
  24. )
  25. );
  26. }
  27.  
  28. function inclineMill($mill){
  29. floor($mill%100) <= 11 && floor($mill%100) >= 19 ? $value = " миллионов " : (
  30. floor($mill%10) == 1 ? $value = " миллион " : (
  31. floor($mill%10) >= 2 && floor($mill%10) <= 4 ? $value = " миллиона "
  32. : $value = " миллионов "
  33. )
  34. );
  35. }
  36.  
  37. function assemblyFunc($num){
  38. global $units, $from11To19, $tens, $hundreds, $thousands, $millions;
  39.  
  40. $numericArr = str_split($num, 3);
  41.  
  42. foreach($numericArr as $key => $triple){
  43. global $units, $from11To19, $tens, $hundreds, $thousands, $millions;
  44. $numericArrDouble = str_split($triple);
  45. foreach($numericArrDouble as $key => $unit){
  46. global $units, $from11To19, $tens, $hundreds, $thousands, $millions;
  47. $numericArrDouble[0] = $hundreds[$unit];
  48. if($numericArrDouble[1] == 1){
  49. $numericArrDouble[1] = $from11To19[$unit];
  50. }else{
  51. $numericArrDouble[1] = $tens[$unit];
  52. $numericArrDouble[2] = $units[$unit];
  53. }
  54. $partNumStr = implode(" ", $numericArrDouble);
  55. return $partNumStr;
  56. }return $partNumStr;
  57. }
  58. }
  59.  
  60. $a = assemblyFunc(123);
  61. echo $a;
  62.  
  63.  
  64.  
  65. //==============================Склад массивов==============================//
  66.  
  67. $units = [
  68. 1 => 'один', 2 => 'два', 3 => 'три', 4 => 'четыре', 5 => 'пять',
  69. 6 => 'шесть', 7 => 'семь', 8 => 'восемь', 9 => 'девять',
  70. ];
  71.  
  72. $from11To19 = [
  73. 1 => 'одиннадцать', 2 => 'двенадцать', 3 => 'тринадцать',
  74. 4 => 'четырнадцать', 5 => 'пятнадцать', 6 => 'шестнадцать',
  75. 7 => 'семнадцать', 8 => 'восемнадцать', 9 => 'девятнадцать'
  76. ];
  77.  
  78. $tens = [
  79. 1 => 'десять', 2 => 'двадцать', 3 => 'тридцать', 4 => 'сорок',
  80. 5 => 'пятьдесят', 6 => 'шестьдесят', 7 => 'семьдесят',
  81. 8 => 'восемьдесят', 9 => 'девяносто'
  82. ];
  83.  
  84. $hundreds = [
  85. 1 => 'сто', 2 => 'двести', 3 => 'триста', 4 => 'четыреста',
  86. 5 => 'пятьсот', 6 => 'шестьсот', 7 => 'семьсот',
  87. 8 => 'восемьсот', 9 => 'девятьсот',
  88. ];
  89.  
  90. $thousands = [
  91. 1 => "тысяча", 2 => "тысячи", 5 => "тысяч"
  92. ];
  93.  
  94. $millions = [
  95. 1 => "миллион", 2 => "миллиона", 5 => "миллионов"
  96. ];
  97.  
  98.  
  99. $smallFemalUnitsArr = [
  100. 1 => 'одна', 2 => 'две'
  101. ];
Success #stdin #stdout 0.03s 52480KB
stdin
Standard input is empty
stdout