我想回顯一些文本取決於時間戳的結果,使用if/else
語句。PHP比較時間變量與if/else
我的邏輯如下;
基於值$data
;
- 如果沒有結果=>回波 '沒有結果'
- 如果日期是小於今天的日期=>回波 '過期'
- 否則=>回波 '活性'
我面臨的問題是,目前我的代碼總是顯示'活躍',無論日期是什麼 - 我的代碼到目前爲止我S;
<?php
$data = get_patronapi_data($id);//this contains a date in the format 31-12-13
$dataTimestamp = strtotime($data);//convert date to timestamp
$now = strtotime('today');set timestamo for $now
//echo strtotime('now'); this outputs 1446820684
//echo $dataTimestamp; this outputs 1954886400
//echo $data; this outputs 31-12-13
//if $data is empty
if (empty($data)){
echo 'no results';
}
//if $data is not empty but date is less than today
elseif (!empty($data) && $dataTimestamp < $now) {
echo 'expired date is' .$date; //in d-m-y format
}
//everything else
else {
echo 'active date is ' .$date; //in d-m-y format
}
?>
我相信答案對於專業人士來說是顯而易見的,但您在這裏有一個新手!
尖端:'的strtotime( '今天')'是CPU時間的浪費。只要做'$ now = time()'。 –
,並檢查了'$ datatimestamp'中的值。如果strtotime失敗,它將返回boolean false,這將在您的<<'測試中被視爲整數'0'。 –
調整'get_patronapi_data()'返回'2013-12-31'而不是'31-12-13' –