fork(1) download
  1. <?php
  2.  
  3. $match = array(
  4. 'home' => array(
  5. 'name' => 'Зайцы',
  6. 'score' => 3
  7. ),
  8. 'guest' => array(
  9. 'name' => 'ТрынТрава',
  10. 'score' => 0
  11. )
  12. );
  13.  
  14. function array_random($array) {
  15. $random_key = mt_rand(0, count($array) - 1);
  16.  
  17. return $array[$random_key];
  18. }
  19.  
  20. function get_match_status_message($match) {
  21. $messages = array(
  22. 'equal' => array(
  23. '%s дома сыграл вничью с %s',
  24. '%2$s на выезде сыграл вничью с %1$s'
  25. ),
  26. 'minimum-difference' => array(
  27. '%s дома с минимальным преимуществом переиграл %s',
  28. '%2$s на выезде минимально проиграл %1$s'
  29. ),
  30. 'default' => array(
  31. '%s дома переиграл %s',
  32. '%2$s на выезде проиграл %1$s'
  33. )
  34. );
  35.  
  36. $match_result = analyze_score_difference(
  37. $match['home']['score'],
  38. $match['guest']['score']
  39. );
  40.  
  41. return sprintf(
  42. array_random($messages[$match_result]),
  43. $match['home']['name'],
  44. $match['guest']['name']
  45. );
  46. }
  47.  
  48. function analyze_score_difference($score_a, $score_b) {
  49. $score_difference = abs($score_a - $score_b);
  50.  
  51. if ($score_difference === 0) {
  52. return 'equal';
  53. }
  54.  
  55. if ($score_difference === 1) {
  56. return 'minimum-difference';
  57. }
  58.  
  59. return 'default';
  60. }
  61.  
  62. echo get_match_status_message($match);
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
ТрынТрава на выезде проиграл Зайцы