Guest User

Untitled

a guest
Dec 17th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. <?php
  2.  
  3.  
  4. /* PHP Функция для склонения падежей
  5. * nominative им.п./ед.ч. (одна банкнота)
  6. * genitive_singular род.п./ед.ч. (две банкноты)
  7. * genitive_plural род.п./мн.ч. (стопитцот банкнот)
  8. */
  9. //---------------------------------------------------------------
  10. //функция на вход подаем количество и все падежи
  11. //---------------------------------------------------------------
  12. function padej( $count, $nominative, $genitive_singular, $genitive_plural )
  13. {
  14. $result = "";
  15. $last_digit = $count % 10;
  16. $last_two_digits = $count % 100;
  17.  
  18.  
  19. if (
  20. ($last_digit == 1) &&
  21. ($last_two_digits != 11)
  22. )
  23. {
  24. $result = $nominative;
  25. }
  26. else if
  27. (
  28. (($last_digit == 2) && ($last_two_digits != 12)) ||
  29. (($last_digit == 3) && ($last_two_digits != 13)) ||
  30. (($last_digit == 4) && ($last_two_digits != 14))
  31. )
  32. {
  33. $result = $genitive_singular;
  34. }
  35. else
  36. {
  37. $result = $genitive_plural;
  38. }
  39.  
  40.  
  41. return $result;
  42. };
  43. //---------------------------------------------------------------
  44. //пример вызова:
  45. //---------------------------------------------------------------
  46.  
  47.  
  48. $count;
  49. $count[] = 1;
  50. $count[] = 2;
  51. $count[] = 3;
  52. $count[] = 4;
  53. $count[] = 5;
  54. $count[] = 10;
  55. $count[] = 13;
  56. $count[] = 111;
  57. $count[] = 100;
  58.  
  59.  
  60. for( $i = 0; $i < count($count); $i++ )
  61. {
  62. echo " ".$count[$i]." ".padej($count[$i], "рубль", "рубля", "рублей" )."<br>";
  63. };
  64.  
  65.  
  66. ?>
Add Comment
Please, Sign In to add comment