Tôi hiện đang làm việc trên một hệ thống thành tích cho một trò chơi trực tuyến nhỏ. Các tổ chức thành tựu cơ bản có 4 thuộc tính:PHP: Kiểm tra xem một số nguyên có trong một khoảng thời gian nhất định hay không
- id
- earnedBy
- earnedOn
- tiến
Người cuối cùng được coi là một tỷ lệ phần trăm, có nghĩa là một số từ 0 đến 100 Để đảm bảo rằng không có số lớn hơn 100 hoặc nhỏ hơn 0 được lưu trong cơ sở dữ liệu, phương thức setter của tôi trông như sau (Tôi đang sử dụng Symfony2/Doctrine ORM):
public function setProgress($progress)
{
$this->progress = max(min($progress, 100), 0);
return $this;
}
Dòng quan trọng ở đây là max(min($progress, 100), 0)
.
Nó hoạt động hoàn toàn tốt, tôi chỉ muốn hỏi, nếu có một built-in chức năng trong PHP làm chính xác điều đó, và nếu những gì tôi đang làm là được rồi (liên quan đến tốt-phát triển phong cách)
tôi không nghĩ rằng có bất kỳ built-in chức năng như vậy cho những gì bạn cần, và những gì bạn đang làm là hoàn toàn tốt .. –
Có vẻ tốt. Tôi có lẽ sẽ chia nó thành hai dòng thay vì lồng nó để làm cho hàm max() min() gọi dễ đọc hơn. –
@ tereško, ngữ cảnh quan trọng. Do anh ta đang sử dụng framework Symfony2, nên có thể có một giải pháp thích hợp hơn cho vấn đề của anh ta. – Gerry