我有一個遊戲和小時從一個XML抓到一個foreach
列表。他們將時間格式設置爲1.8小時,而不是1小時48分鐘。堅持用簡單的PHP公式
除了最後的elseif
之外,下面的代碼中的所有內容都正常工作。它應該抓住超過6分鐘但不到60分鐘的比賽,將其轉換,然後在最後加上「分鐘」。
現在,它僅對所有這些遊戲顯示「0分鐘」。
$hoursplayed = $game->hoursOnRecord;
if ($hoursplayed < .1) {
$zeros = $zeros + 1;
$hoursplayed = 0;}
elseif ($hoursplayed >= 1){
$nonzeros = $nonzeros + 1;
}
elseif ($hoursplayed >= .1 && $hoursplayed < 1) {
$hoursplayed = ($hoursplayed * 60) . " minutes";
}
你沒有任何打印 – Don 2012-08-07 15:36:46
如果你的前兩個條件已經檢查遊戲不到6分鐘,一小時或以上,你不需要有最後elseif,只是別的。它應該運行相同,但我認爲它使代碼更易於閱讀。 – andrewsi 2012-08-07 15:41:11
如果我使用'$ hoursplayed = 0.3'來嘗試該代碼段並使用'echo'打印,則會按預期顯示「18分鐘」。我認爲你的bug是在設置'$ game - > $ hoursOnRecord'的代碼中。 – 2012-08-07 15:41:37