我有一个游戏和小时从一个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