Пишу рейтинг с таким условием если у пользователя 15 лайков это 1 бал или 150 это 10 баллов и тд. Подскажите как это сделать? Всё через if делать ?? Типа PHP: if($s>=0 and <=10) { echo '1 балл';} if($s>=10 and <=20) { echo '2 балл';} if($s>=20 and <=30) { echo '3 балл';} Вот так или есть другой подход ?
ну по вашим данным - это просто целочисленное деление на 15 PHP: $likes = 15; $ball = ceil($likes/15); echo "баллов: $likes";
Я бы создал функцию/метод, которая бы считала как целочисленное деление на 10. И везде где надо вычисленный рейтинг, использовал бы её. Если в какой-то момент я решаю что рейтинг надо считать нелинейно, я меняю код только в функции. Чисто для примера: Код (Text): // 0 - 10: 1, // 11 - 20: 2, // 21 - 30: 3 ... // 31 - 99: всё ещё рейтинг 3 // от 100 баллов: 4 - ... по баллу за каждую сотню function rateByPoints(int $points): int { if ($points <= 30) { return (int) ceil($points / 10); } return 3 + (int) floor($points / 100); }