Làm cách nào để kiểm tra xem giá trị có phải là số nguyên trong php không?
Hãy xem xét nhiệm vụ đơn giản này. bạn nhận được một biến từ một nguồn không xác định (biểu mẫu, cơ sở dữ liệu, v.v.) phải là một số nguyên hợp lệ. Nó có thể là một số nguyên dương hoặc âm và được lưu trữ trong một chuỗi hoặc một số nguyên, nhưng nó phải là một số nguyên thực được tạo thành từ các chữ số. Đây là danh sách kiểm tra của chúng tôi
PHP cung cấp cho chúng ta các cách sau để thực hiện nhiệm vụ này gần như nhưng không hoàn toàn
Giả sử bạn muốn xác thực rằng một biến phù hợp với hóa đơn. Bạn làm nghề gì? Phản xạ đầu tiên của bạn là thử dùng 5, còn được gọi là 6, nhưng bạn đã nhầm. Các hàm này sẽ trả về false cho một chuỗi, ngay cả khi nó chứa một số nguyên. Trước tiên, bạn có thể truyền chuỗi của mình thành một số nguyên bằng 1, sau đó áp dụng 5, nhưng vì PHP sẽ truyền khá nhiều thứ mà không gây ra lỗi, nên bạn có thể là một mảng và dù sao thì nó cũng sẽ truyền thành 0 hoặc 1Khỏe. Điều đó có ý nghĩa. Bây giờ thì sao về ________ 17? Điều đó để lại cho chúng tôi ba lựa chọn. 8, 9 và biểu thức chính quy. Sử dụng biểu thức chính quy sẽ chậm, không thể đọc được và quá mức cần thiết cho một nhiệm vụ đơn giản như vậy, vì vậy hãy xem 8. 8 tương đương với 1, điều này thật tuyệt, ngoại trừ việc nó không cho phép các giá trị âm và nó chỉ hoạt động với các chuỗiĐiều đó không hoàn toàn dễ đọc, vì vậy hãy thử tùy chọn cuối cùng của chúng tôi, 9. Có vẻ như 9 là đối sánh gần nhất, nhưng nó không hoàn hảo vì nó cho phép 4, nhưng chặn 5 (đã sửa trong PHP 5. 4. 11), 6 và 7. Đối với hầu hết các trường hợp, có vẻ như 9 vẫn là chức năng tốt nhất để sử dụngNếu những nhược điểm này phù hợp với bạn, thì đây là đoạn mã bạn nên sử dụng
Nếu bạn cũng muốn cho phép các giá trị như 5, 6 và 7, nhưng muốn chặn 4, hãy sử dụng 8 như thế này để thay thế
Đúng rồi. Đây là cách bạn kiểm tra một số nguyên trong PHP. Đơn giản nhỉ? Đây là thử nghiệm nhanh mà tôi đã sử dụng trên máy chủ thử nghiệm cũ nát của mình. Như bạn có thể thấy, 8 là phương pháp duy nhất hoạt động 100% thời gian, mặc dù nó hoàn toàn không thể đọc được
Làm cách nào để xác thực đầu vào số nguyên trong PHP?PHP có hàm filter_var() để xác thực các biến. . 25 (Số nguyên) sẽ không bị thay đổi "25" (chuỗi) sẽ được chuyển thành 25 (Số nguyên) 25. 11 (Float) sẽ trả về false vì chúng không phải là số nguyên đúng (Boolean) sẽ trả về 1 (Số nguyên) false (Boolean) sẽ trả về false (Boolean) is_int trong PHP là gì?is_int(giá trị $ hỗn hợp). bool . Tìm xem kiểu của biến đã cho có phải là số nguyên hay không . Ghi chú. Để kiểm tra xem một biến là một số hay một chuỗi số (chẳng hạn như đầu vào biểu mẫu, luôn là một chuỗi), bạn phải sử dụng is_numeric(). |