Tôi đang làm việc trên tập lệnh sẽ nhập một số dữ liệu từ tệp CSV. Khi tôi làm điều này, tôi muốn có thể kiểm tra một biến để xem đó có phải là chuỗi ngày hợp lệ hay không.Kiểm tra xem biến có phải là ngày hợp lệ với PHP
Tôi đã nhìn thấy một số cách để kiểm tra xem dấu vết có phải là ngày hay không, nhưng hầu hết trong số chúng yêu cầu bạn định dạng. Tôi sẽ không biết định dạng mà ngày sẽ trong.
ngay bây giờ tôi đang sử dụng strtotime(), nhưng điều này không dễ dàng
$field ="May";
if(strtotime($field)){
echo "This is a date";
}
Trong trường hợp này, "May" là người tên đầu tiên, và không phải là một ngày nào cả.
Có thể bất kỳ ai đề xuất chức năng đáng tin cậy hơn không?
Chỉnh sửa dựa trên câu hỏi của một số bạn.
Để biến được chuyển thành "ngày" trong trường hợp của tôi, nó sẽ cần phải cụ thể cho một ngày/tháng/năm, vì vậy chỉ "tháng" sẽ mơ hồ để đếm.
Trên cơ sở đó và Pauls điểm tốt dưới đây, chúng tôi cũng có thể kiểm tra để xem nếu chuỗi có chứa một số, chẳng hạn như
$field ="May";
if(strtotime($field) && 1 === preg_match('~[0-9]~', $field)){
echo "This is a date";
}else{
echo "Nope not a date";
}
này dường như để trang trải nhu cầu trước mắt của tôi, nhưng có thể bất kỳ một vị trí bất kỳ vấn đề hoặc đề xuất cải tiến?
Kịch bản của bạn sẽ cho biết liệu 'May' là tên hay ngày tháng? – lonesomeday
Bạn cần cung cấp thông số * một số * loại giá trị bạn chấp nhận. Nếu không thì "May" cũng tốt như bất kỳ giá trị nào khác. – JJJ
Kiểm tra xem người đó có tên cuối cùng là – Joelmob