Как дать обозначения диапазону цифр

Пишу рейтинг с таким условием если у пользователя 15 лайков это 1 бал или 150 это 10 баллов и тд. Подскажите как это сделать? Всё через if делать ?? Типа

PHP:
  1. if($s>=0 and <=10) { echo ‘1 балл’;}
  2. if($s>=10 and <=20) { echo ‘2 балл’;}
  3. if($s>=20 and <=30) { echo ‘3 балл’;}
  4. Вот так или есть другой подход ?
 

swith ($s){
case ‘1’: echo(‘1’);break;
}

 

ну по вашим данным — это просто целочисленное деление на 15

PHP:
  1. $likes = 15;
  2. $ball = ceil($likes/15);
  3. echo «баллов: $likes«;
 

Я бы создал функцию/метод, которая бы считала как целочисленное деление на 10. И везде где надо вычисленный рейтинг, использовал бы её. Если в какой-то момент я решаю что рейтинг надо считать нелинейно, я меняю код только в функции. Чисто для примера:

Код (Text):
  1.  
  2. // 0 — 10: 1,
  3. // 11 — 20: 2,
  4. // 21 — 30: 3 …
  5. // 31 — 99: всё ещё рейтинг 3
  6. // от 100 баллов: 4 — … по баллу за каждую сотню
  7. function rateByPoints(int $points): int
  8. {
  9.     if ($points <= 30) {
  10.         return (int) ceil($points / 10);
  11.     }
  12.     return 3 + (int) floor($points / 100);
  13. }
 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *