1 1 1 1 1 1 1 1 1 1 Рейтинг 0.00 (0 Голоса(ов)

Не хочется говорить банальное "Дело было вечером, делать было нечего", но именно это лучше всего и отражает мое настроение на тот момент, когда в моей голове мелькнула мысль, неоднократно посещавшая любого сайтостроителя: хорошо англичанам, один голос - "vote", больше - "votes". То ли дело в русском языке. Приходится писать "голоса (ов)".

И я решил изобрести велосипед. Принципиально не глядя, как это сделано у других. Задача была в том, чтобы написать максимально компактный код. Вот что вышло:

 

Код php:
  1. function lexvote($v)
  2. {
  3. $result = "голос";
  4. $v01=$v % 10;
  5. $v10 = floor($v / 10) % 10;
  6. if ($v01>1 && $v01<5 && $v10!=1)
  7. $result.="а";
  8. else if ($v01>4 || $v01==0 || $v10==1)
  9. $result.="ов";
  10. return $result;
  11. }