Obecnie pracuję nad systemem osiągnięć dla małej gry online. Podmiot osiągnięcie zasadniczo ma 4 atrybuty:PHP: Sprawdź, czy liczba całkowita jest w określonym przedziale lub nie
- id
- earnedBy
- earnedOn
- postęp
Ten ostatni ma być procent, co oznacza liczbę między 0 a 100 Aby upewnić się, że żadna liczba większa niż 100 lub mniejsza niż 0 nie jest zapisana w bazie danych, moja metoda ustawiania wygląda tak: (Używam Symfony2/Doctrine ORM):
public function setProgress($progress)
{
$this->progress = max(min($progress, 100), 0);
return $this;
}
Ważną linią jest tutaj max(min($progress, 100), 0)
.
Działa całkowicie w porządku, ja tylko chciałem zapytać, czy istnieje inna funkcja wbudowana w PHP robi dokładnie to coś, a jeśli to, co robię jest w porządku (dotyczące dobrą rozwijających style)
nie sądzę że jest jakaś taka funkcja wbudowana na co trzeba i co aktualnie robisz jest idealnie w porządku .. –
Wygląda dobrze. Prawdopodobnie rozbiłbym go na dwie linie zamiast zagnieżdżać, aby wywołania funkcji max() min() były bardziej czytelne. –
@ tereško, kontekst ma znaczenie. Biorąc pod uwagę, że używa on frameworka Symfony2, może istnieć bardziej odpowiednie rozwiązanie dla jego problemu. – Gerry