$arr = explode(':', $row['diff']);
echo "$arr[0] minutes, $arr[1] seconds";
数组正在输出:
Array00 hours, 20 minutes
,应在其输出:[x] hours, [x] minutes
。仅当> = 1小时这是在SQL中:
TIMEDIFF(now(), listDT) as diff
如果输出像0小时22分钟,有什么方法可以显示,只有几分钟?为什么数组在前面?我可以删除它吗?怎么样?
更新
foreach($result as $row)
{
echo "<div class='listing'>";
print $row['uUName'] . '</strong><br />' .
'<strong>' . $row['listTitle'] . '</strong><br />' .
$arr = explode(':', $row['diff']);
echo "{$arr[0]} minutes, {$arr[1]} seconds";
echo "</div>";
}
此STILL输出:例如
Array00 hours, 31 minutes
。我如何使其看起来像:00 hours, 31 minutes
要么
(理想情况下,如果小时数为0)
31 minutes
最佳答案
添加括号,以便可以正确解释数组变量。像这样:
echo "{$arr[0]} minutes, {$arr[1]} seconds";
预计到达时间
忽略等于零的部分意味着遍历数组并询问是否需要输出数组。
$map=array_combine(array('hours','minutes','seconds'),$arr);//so each part knows its name
$filtred=array_filter($map);//get rid of 0 values
foreach($filtred as $name=>$num){
echo "$num $name ";
}
关于php - 以设定格式显示TIMEDIFF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7824854/