我們基於CodeIgniter的網站有一個部分顯示用戶最後一次登錄時間(必要時使用天數和小時,分鐘,秒) 。我試圖在結果爲1天時打印「天」,並在1天內打印「天」。目前1天顯示爲1 day
,但2天(及以上)顯示爲2 day 2 days
。你能看到我在這裏做錯了什麼,並修改了代碼嗎?「最後一次登錄:」 - 當登錄時間超過一天前打印「天數」
$dDf
=天
$hDf
=小時
$mDf
=分鐘
$sDf
=第二
<?php
if ($dDf < 1) {
if ($hDf > 0) {
if ($mDf < 0) {
$mDf = 60 + $mDf;
$hDf = $hDf - 1;
echo $mDf . ' min';
} else {
echo $hDf . ' hr ' . $mDf . ' min';
}
} else {
if ($mDf > 0) {
echo $mDf . ' min ' . $sDf . ' sec';
} else {
echo $sDf . ' sec';
}
}
} else {
echo $dDf . ' days ';
if ($dDf > 1) {
if ($hDf > 0) {
if ($mDf < 0) {
$mDf = 60 + $mDf;
$hDf = $hDf - 1;
echo $mDf . ' min';
} else {
echo $hDf . ' hr ' . $mDf . ' min';
}
} else {
if ($mDf > 0) {
echo $mDf . ' min ' . $sDf . ' sec';
} else {
echo $sDf . ' sec';
}
}
} else {
echo $dDf . ' day ';
if ($hDf > 0) {
if ($mDf < 0) {
$mDf = 60 + $mDf;
$hDf = $hDf - 1;
echo $mDf . ' min';
} else {
echo $hDf . ' hr ' . $mDf . ' min';
}
} else {
if ($mDf > 0) {
echo $mDf . ' min ' . $sDf . ' sec';
} else {
echo $sDf . ' sec';
}
}
}
}
?>
哇,誰來解碼模糊變量?只是一個提示,變量名稱的冗長可以走很長的路。 –
我猜''mDf'是分鐘等? -_- –
你是對的 - 我應該寫出可變的標題,對此感到抱歉。 '$ dDf' = day(這是唯一與此問題相關的) – JoeW