php kiểm tra gía trị có phải kiểu date hay không

+1 thích

Mình có một mảng nhiều chiều chứa config về các phép toán so sánh. Các phép so sánh dành cho string khác với number và khác với datetime vấn đề là làm sao để biết gía trị của biến là string, number hay date ? string thì có hàm is_string, number thì có is_numeric, thế còn datetime thí sao ?

avatar đã hỏi ngày 6 tháng 4 bởi lucius (1,180 điểm)  

1 Câu trả lời

0 k thích

Trong PHP thì không có hàm nào có thể kiểm tra một cách chắc chắn cái bạn hỏi. Bởi vì datetime trong php có rất nhiều format. Bạn có thể dựa vào hàm strtotime để biết xem nó có phải là một kiểu format hợp lệ không. strtotime có thể hiểu được cả các format như 2 days ago tuy nhiên không thể hiểu được hết.
Một cách khác cho kết qủa chính xác hơn nhưng tốn công hơn đó là dùng hàm DateTime::createFromFormat, bạn phải cung cấp các kiểu format có thể xảy ra nếu muốn tăng độ chính xác. Hàm sẽ trả về kiểu DateTime nếu gía trị là kiểu date hợp lệ, hoặc sẽ trả về false nếu gía trị không phải là date

avatar trả lời ngày 6 tháng 4 bởi admin (2,590 điểm)  
...