Ben çalışan bir program için, ben veri döngü yaşıyorum ve ben veri belirli bir parçası, bir tarih ya da değil bilmek gerekiyordu.
Basitlik için, ben is_date
, bu gibi görünüyordu adında bir işlevi yaptı:
function is_date($date){
return strtotime($date) !== FALSE;
}
Bu iş gibi görünüyordu, ama nedense, o (tarih değildir) TRUE
ints döndü.
Örneğin:
is_date('bob') //FALSE
is_date('01/05/2009') //TRUE
is_date('March 16, 2010') //TRUE
is_date(165000) //TRUE
Neden is_date(165000)
DOĞRU çıkmıyor? Nasıl strtotime
, bir zaman damgası 165.000 dönüştürebilirsiniz?
Bir düzeltme olarak, ben bu benim is_date
işlevi değişti:
function is_date($date){
return !is_numeric($date) && strtotime($date) !== FALSE;
}